home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 March: Reference Library / Dev.CD Mar 96 RL / Dev.CD Mar 96 RL.toast / Technical Documentation / develop / develop Issue 24 / develop Issue 24 code / Scriptable Database 1.0a11.sea / Scriptable Database 1.0a11 / Application / DBElementToken.cp < prev    next >
MacBinary  |  1995-10-18  |  19.6 KB  |  [TEXT/MMCC]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert MS-DOS Code Page Info (other/dosCodePage) ext Unsupported
1% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Oct 18 16:15:24 1995, modified Wed Oct 18 16:15:24 1995, creator 'MMCC', type ASCII, 19360 bytes "DBElementToken.cp" , at 0x4c20 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MMCC]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 11 44 42 45 6c 65 6d | 65 6e 74 54 6f 6b 65 6e |..DBElem|entToken|
|00000010| 2e 63 70 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.cp.....|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 4d 43 | 43 01 00 00 00 00 00 00 |.TEXTMMC|C.......|
|00000050| 00 00 00 00 00 4b a0 00 | 00 01 9a ac ab 10 dc ac |.....K..|........|
|00000060| ab 10 dc 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 40 27 00 00 |........|....@'..|
|00000080| 0d 23 69 6e 63 6c 75 64 | 65 20 22 44 42 45 6c 65 |.#includ|e "DBEle|
|00000090| 6d 65 6e 74 54 6f 6b 65 | 6e 2e 68 22 0d 23 69 6e |mentToke|n.h".#in|
|000000a0| 63 6c 75 64 65 20 22 44 | 42 45 6c 65 6d 65 6e 74 |clude "D|BElement|
|000000b0| 54 6f 6b 65 6e 49 74 65 | 72 61 74 6f 72 2e 68 22 |TokenIte|rator.h"|
|000000c0| 0d 0d 23 69 6e 63 6c 75 | 64 65 20 22 41 70 70 6c |..#inclu|de "Appl|
|000000d0| 69 63 61 74 69 6f 6e 2e | 68 22 0d 23 69 6e 63 6c |ication.|h".#incl|
|000000e0| 75 64 65 20 22 44 42 45 | 6c 65 6d 65 6e 74 2e 68 |ude "DBE|lement.h|
|000000f0| 22 0d 23 69 6e 63 6c 75 | 64 65 20 22 44 42 50 72 |".#inclu|de "DBPr|
|00000100| 6f 70 65 72 74 79 2e 68 | 22 0d 23 69 6e 63 6c 75 |operty.h|".#inclu|
|00000110| 64 65 20 22 54 72 61 6e | 73 61 63 74 69 6f 6e 2e |de "Tran|saction.|
|00000120| 68 22 0d 23 69 6e 63 6c | 75 64 65 20 22 53 63 72 |h".#incl|ude "Scr|
|00000130| 69 70 74 61 62 6c 65 44 | 42 44 6f 63 75 6d 65 6e |iptableD|BDocumen|
|00000140| 74 2e 68 22 0d 23 69 6e | 63 6c 75 64 65 20 22 41 |t.h".#in|clude "A|
|00000150| 62 73 74 72 61 63 74 50 | 72 6f 70 65 72 74 79 2e |bstractP|roperty.|
|00000160| 68 22 0d 0d 23 69 6e 63 | 6c 75 64 65 20 3c 41 45 |h"..#inc|lude <AE|
|00000170| 52 65 67 69 73 74 72 79 | 2e 68 3e 0d 23 69 6e 63 |Registry|.h>.#inc|
|00000180| 6c 75 64 65 20 3c 41 53 | 52 65 67 69 73 74 72 79 |lude <AS|Registry|
|00000190| 2e 68 3e 0d 0d 23 69 6e | 63 6c 75 64 65 20 22 45 |.h>..#in|clude "E|
|000001a0| 78 63 65 70 74 69 6f 6e | 73 2e 68 22 0d 0d 54 44 |xception|s.h"..TD|
|000001b0| 65 73 63 72 69 70 74 6f | 72 20 47 65 74 44 61 74 |escripto|r GetDat|
|000001c0| 61 41 73 44 65 73 63 72 | 69 70 74 6f 72 28 54 54 |aAsDescr|iptor(TT|
|000001d0| 72 61 6e 73 61 63 74 69 | 6f 6e 2a 20 74 2c 20 41 |ransacti|on* t, A|
|000001e0| 43 6f 6e 73 74 3c 54 44 | 42 50 72 6f 70 65 72 74 |Const<TD|BPropert|
|000001f0| 79 3e 20 70 72 6f 70 65 | 72 74 79 52 65 63 6f 72 |y> prope|rtyRecor|
|00000200| 64 29 3b 0d 0d 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |d);...//|--------|
|00000210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 47 65 74 44 |--------|.// GetD|
|00000260| 61 74 61 41 73 44 65 73 | 63 72 69 70 74 6f 72 0d |ataAsDes|criptor.|
|00000270| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00000280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002c0| 2d 2d 0d 54 44 65 73 63 | 72 69 70 74 6f 72 20 47 |--.TDesc|riptor G|
|000002d0| 65 74 44 61 74 61 41 73 | 44 65 73 63 72 69 70 74 |etDataAs|Descript|
|000002e0| 6f 72 28 54 54 72 61 6e | 73 61 63 74 69 6f 6e 2a |or(TTran|saction*|
|000002f0| 20 74 2c 20 41 43 6f 6e | 73 74 3c 54 44 42 50 72 | t, ACon|st<TDBPr|
|00000300| 6f 70 65 72 74 79 3e 20 | 70 72 6f 70 65 72 74 79 |operty> |property|
|00000310| 52 65 63 6f 72 64 29 0d | 7b 0d 09 54 44 65 73 63 |Record).|{..TDesc|
|00000320| 72 69 70 74 6f 72 20 72 | 65 73 75 6c 74 3b 0d 09 |riptor r|esult;..|
|00000330| 0d 09 69 66 28 70 72 6f | 70 65 72 74 79 52 65 63 |..if(pro|pertyRec|
|00000340| 6f 72 64 2e 45 78 69 73 | 74 73 28 29 29 0d 09 7b |ord.Exis|ts())..{|
|00000350| 0d 09 09 2f 2f 0d 09 09 | 2f 2f 20 42 75 6e 63 68 |...//...|// Bunch|
|00000360| 65 73 20 6f 66 20 63 6f | 64 65 20 6a 75 73 74 20 |es of co|de just |
|00000370| 74 6f 20 63 6f 70 79 20 | 74 68 65 20 70 72 6f 70 |to copy |the prop|
|00000380| 65 72 74 79 20 64 61 74 | 61 20 69 6e 74 6f 20 61 |erty dat|a into a|
|00000390| 20 68 61 6e 64 6c 65 0d | 09 09 2f 2f 0d 09 09 6c | handle.|..//...l|
|000003a0| 6f 6e 67 20 70 72 6f 70 | 65 72 74 79 54 79 70 65 |ong prop|ertyType|
|000003b0| 20 3d 20 70 72 6f 70 65 | 72 74 79 52 65 63 6f 72 | = prope|rtyRecor|
|000003c0| 64 2d 3e 47 65 74 44 61 | 74 61 54 79 70 65 28 74 |d->GetDa|taType(t|
|000003d0| 29 3b 0d 09 09 6c 6f 6e | 67 20 70 72 6f 70 65 72 |);...lon|g proper|
|000003e0| 74 79 4c 65 6e 67 74 68 | 20 3d 20 70 72 6f 70 65 |tyLength| = prope|
|000003f0| 72 74 79 52 65 63 6f 72 | 64 2d 3e 47 65 74 44 61 |rtyRecor|d->GetDa|
|00000400| 74 61 4c 65 6e 67 74 68 | 28 74 29 3b 0d 09 09 0d |taLength|(t);....|
|00000410| 09 09 48 61 6e 64 6c 65 | 20 70 72 6f 70 65 72 74 |..Handle| propert|
|00000420| 79 44 61 74 61 53 74 6f | 72 61 67 65 20 3d 20 4e |yDataSto|rage = N|
|00000430| 65 77 48 61 6e 64 6c 65 | 28 70 72 6f 70 65 72 74 |ewHandle|(propert|
|00000440| 79 4c 65 6e 67 74 68 29 | 3b 0d 09 09 46 61 69 6c |yLength)|;...Fail|
|00000450| 45 72 72 28 4d 65 6d 45 | 72 72 6f 72 28 29 29 3b |Err(MemE|rror());|
|00000460| 0d 09 09 48 4c 6f 63 6b | 28 70 72 6f 70 65 72 74 |...HLock|(propert|
|00000470| 79 44 61 74 61 53 74 6f | 72 61 67 65 29 3b 0d 09 |yDataSto|rage);..|
|00000480| 09 70 72 6f 70 65 72 74 | 79 52 65 63 6f 72 64 2d |.propert|yRecord-|
|00000490| 3e 47 65 74 54 79 70 65 | 64 44 61 74 61 28 74 2c |>GetType|dData(t,|
|000004a0| 20 54 55 70 64 61 74 61 | 44 61 74 61 52 65 66 65 | TUpdata|DataRefe|
|000004b0| 72 65 6e 63 65 28 70 72 | 6f 70 65 72 74 79 54 79 |rence(pr|opertyTy|
|000004c0| 70 65 2c 20 2a 70 72 6f | 70 65 72 74 79 44 61 74 |pe, *pro|pertyDat|
|000004d0| 61 53 74 6f 72 61 67 65 | 2c 20 70 72 6f 70 65 72 |aStorage|, proper|
|000004e0| 74 79 4c 65 6e 67 74 68 | 2c 20 70 72 6f 70 65 72 |tyLength|, proper|
|000004f0| 74 79 4c 65 6e 67 74 68 | 29 29 3b 0d 09 09 48 55 |tyLength|));...HU|
|00000500| 6e 6c 6f 63 6b 28 70 72 | 6f 70 65 72 74 79 44 61 |nlock(pr|opertyDa|
|00000510| 74 61 53 74 6f 72 61 67 | 65 29 3b 0d 09 09 0d 09 |taStorag|e);.....|
|00000520| 09 2f 2f 0d 09 09 2f 2f | 20 4f 6e 63 65 20 77 65 |.//...//| Once we|
|00000530| 20 68 61 76 65 20 74 68 | 65 20 70 72 6f 70 65 72 | have th|e proper|
|00000540| 74 79 20 74 79 70 65 20 | 61 6e 64 20 61 6c 6c 20 |ty type |and all |
|00000550| 6f 66 20 74 68 65 20 64 | 61 74 61 20 69 6e 0d 09 |of the d|ata in..|
|00000560| 09 2f 2f 20 61 20 68 61 | 6e 64 6c 65 2c 20 77 65 |.// a ha|ndle, we|
|00000570| 20 63 61 6e 20 70 61 63 | 6b 61 67 65 20 75 70 20 | can pac|kage up |
|00000580| 61 20 54 44 65 73 63 72 | 69 70 74 6f 72 0d 09 09 |a TDescr|iptor...|
|00000590| 2f 2f 0d 09 09 72 65 73 | 75 6c 74 2e 41 64 6f 70 |//...res|ult.Adop|
|000005a0| 74 48 61 6e 64 6c 65 28 | 70 72 6f 70 65 72 74 79 |tHandle(|property|
|000005b0| 54 79 70 65 2c 20 70 72 | 6f 70 65 72 74 79 44 61 |Type, pr|opertyDa|
|000005c0| 74 61 53 74 6f 72 61 67 | 65 29 3b 0d 09 7d 0d 09 |taStorag|e);..}..|
|000005d0| 0d 09 72 65 74 75 72 6e | 20 72 65 73 75 6c 74 3b |..return| result;|
|000005e0| 0d 7d 20 2f 2f 20 47 65 | 74 44 61 74 61 41 73 44 |.} // Ge|tDataAsD|
|000005f0| 65 73 63 72 69 70 74 6f | 72 0d 0d 23 64 65 66 69 |escripto|r..#defi|
|00000600| 6e 65 20 63 6c 44 42 45 | 6c 65 6d 65 6e 74 54 6f |ne clDBE|lementTo|
|00000610| 6b 65 6e 20 33 33 0d 0d | 23 70 72 61 67 6d 61 20 |ken 33..|#pragma |
|00000620| 73 65 67 6d 65 6e 74 20 | 4f 62 6a 65 63 74 52 65 |segment |ObjectRe|
|00000630| 73 69 64 65 6e 74 0d 49 | 6d 70 6c 65 6d 65 6e 74 |sident.I|mplement|
|00000640| 53 6d 61 6c 6c 43 6c 61 | 73 73 44 61 74 61 28 54 |SmallCla|ssData(T|
|00000650| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 2c 20 |DBElemen|tToken, |
|00000660| 63 6c 44 42 45 6c 65 6d | 65 6e 74 54 6f 6b 65 6e |clDBElem|entToken|
|00000670| 29 3b 0d 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |);..//--|--------|
|00000680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006c0| 2d 2d 2d 2d 2d 2d 0d 2f | 2f 20 54 44 42 45 6c 65 |------./|/ TDBEle|
|000006d0| 6d 65 6e 74 54 6f 6b 65 | 6e 3a 3a 54 44 42 45 6c |mentToke|n::TDBEl|
|000006e0| 65 6d 65 6e 74 54 6f 6b | 65 6e 0d 2f 2f 2d 2d 2d |ementTok|en.//---|
|000006f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000720| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 54 44 |--------|-----.TD|
|00000740| 42 45 6c 65 6d 65 6e 74 | 54 6f 6b 65 6e 3a 3a 54 |BElement|Token::T|
|00000750| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 28 41 |DBElemen|tToken(A|
|00000760| 43 6f 6e 73 74 3c 54 44 | 42 45 6c 65 6d 65 6e 74 |Const<TD|BElement|
|00000770| 3e 20 72 65 63 6f 72 64 | 29 20 3a 20 66 52 65 63 |> record|) : fRec|
|00000780| 6f 72 64 28 72 65 63 6f | 72 64 29 0d 09 7b 0d 09 |ord(reco|rd)..{..|
|00000790| 72 65 63 6f 72 64 2d 3e | 41 64 64 52 65 66 65 72 |record->|AddRefer|
|000007a0| 65 6e 63 65 28 29 3b 0d | 09 7d 0d 0d 2f 2f 2d 2d |ence();.|.}..//--|
|000007b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00000800| 2f 20 54 44 42 45 6c 65 | 6d 65 6e 74 54 6f 6b 65 |/ TDBEle|mentToke|
|00000810| 6e 3a 3a 7e 54 44 42 45 | 6c 65 6d 65 6e 74 54 6f |n::~TDBE|lementTo|
|00000820| 6b 65 6e 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ken.//--|--------|
|00000830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000870| 2d 2d 2d 2d 2d 2d 0d 54 | 44 42 45 6c 65 6d 65 6e |------.T|DBElemen|
|00000880| 74 54 6f 6b 65 6e 3a 3a | 7e 54 44 42 45 6c 65 6d |tToken::|~TDBElem|
|00000890| 65 6e 74 54 6f 6b 65 6e | 28 29 0d 09 7b 0d 09 66 |entToken|()..{..f|
|000008a0| 52 65 63 6f 72 64 2d 3e | 52 65 6d 6f 76 65 52 65 |Record->|RemoveRe|
|000008b0| 66 65 72 65 6e 63 65 28 | 29 3b 0d 09 7d 0d 09 0d |ference(|);..}...|
|000008c0| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|000008d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000910| 2d 2d 0d 2f 2f 20 54 44 | 42 45 6c 65 6d 65 6e 74 |--.// TD|BElement|
|00000920| 54 6f 6b 65 6e 3a 3a 43 | 6c 6f 6e 65 4f 77 6e 65 |Token::C|loneOwne|
|00000930| 64 4f 62 6a 65 63 74 73 | 0d 2f 2f 2d 2d 2d 2d 2d |dObjects|.//-----|
|00000940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 76 6f 69 64 |--------|---.void|
|00000990| 20 54 44 42 45 6c 65 6d | 65 6e 74 54 6f 6b 65 6e | TDBElem|entToken|
|000009a0| 3a 3a 43 6c 6f 6e 65 4f | 77 6e 65 64 4f 62 6a 65 |::CloneO|wnedObje|
|000009b0| 63 74 73 28 29 0d 09 7b | 0d 09 2f 2f 0d 09 2f 2f |cts()..{|..//..//|
|000009c0| 20 66 52 65 63 6f 72 64 | 20 68 61 73 20 62 65 65 | fRecord| has bee|
|000009d0| 6e 20 63 6c 6f 6e 65 64 | 2c 20 73 6f 20 77 65 20 |n cloned|, so we |
|000009e0| 6e 65 65 64 20 74 6f 20 | 61 64 64 20 6f 6e 65 20 |need to |add one |
|000009f0| 6d 6f 72 65 20 72 65 66 | 65 72 65 6e 63 65 20 74 |more ref|erence t|
|00000a00| 6f 20 69 74 0d 09 2f 2f | 09 0d 09 66 52 65 63 6f |o it..//|...fReco|
|00000a10| 72 64 2d 3e 41 64 64 52 | 65 66 65 72 65 6e 63 65 |rd->AddR|eference|
|00000a20| 28 29 3b 0d 09 7d 20 2f | 2f 20 54 44 42 45 6c 65 |();..} /|/ TDBEle|
|00000a30| 6d 65 6e 74 54 6f 6b 65 | 6e 3a 3a 43 6c 6f 6e 65 |mentToke|n::Clone|
|00000a40| 4f 77 6e 65 64 4f 62 6a | 65 63 74 73 0d 0d 2f 2f |OwnedObj|ects..//|
|00000a50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000aa0| 0d 2f 2f 20 54 44 42 45 | 6c 65 6d 65 6e 74 54 6f |.// TDBE|lementTo|
|00000ab0| 6b 65 6e 3a 3a 4f 62 6a | 65 63 74 43 6c 61 73 73 |ken::Obj|ectClass|
|00000ac0| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00000ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b10| 2d 2d 2d 0d 44 65 73 63 | 54 79 70 65 20 54 44 42 |---.Desc|Type TDB|
|00000b20| 45 6c 65 6d 65 6e 74 54 | 6f 6b 65 6e 3a 3a 4f 62 |ElementT|oken::Ob|
|00000b30| 6a 65 63 74 43 6c 61 73 | 73 28 54 54 72 61 6e 73 |jectClas|s(TTrans|
|00000b40| 61 63 74 69 6f 6e 2a 20 | 74 2c 20 42 6f 6f 6c 65 |action* |t, Boole|
|00000b50| 61 6e 20 2f 2a 72 65 63 | 6f 72 64 65 64 43 6c 61 |an /*rec|ordedCla|
|00000b60| 73 73 2a 2f 29 0d 7b 0d | 09 44 65 73 63 54 79 70 |ss*/).{.|.DescTyp|
|00000b70| 65 20 6f 62 6a 65 63 74 | 43 6c 61 73 73 20 3d 20 |e object|Class = |
|00000b80| 63 4f 62 6a 65 63 74 3b | 0d 09 6c 6f 6e 67 20 75 |cObject;|..long u|
|00000b90| 6e 75 73 65 64 4c 65 6e | 67 74 68 20 3d 20 30 3b |nusedLen|gth = 0;|
|00000ba0| 0d 09 6c 6f 6e 67 20 75 | 6e 75 73 65 64 54 79 70 |..long u|nusedTyp|
|00000bb0| 65 20 3d 20 30 3b 0d 09 | 41 43 6f 6e 73 74 3c 54 |e = 0;..|AConst<T|
|00000bc0| 44 42 50 72 6f 70 65 72 | 74 79 3e 20 70 72 6f 70 |DBProper|ty> prop|
|00000bd0| 65 72 74 79 52 65 63 6f | 72 64 20 3d 20 66 52 65 |ertyReco|rd = fRe|
|00000be0| 63 6f 72 64 2d 3e 47 65 | 74 50 72 6f 70 65 72 74 |cord->Ge|tPropert|
|00000bf0| 79 52 65 63 6f 72 64 28 | 74 2c 20 70 43 6c 61 73 |yRecord(|t, pClas|
|00000c00| 73 29 3b 0d 09 0d 09 69 | 66 28 70 72 6f 70 65 72 |s);....i|f(proper|
|00000c10| 74 79 52 65 63 6f 72 64 | 2e 45 78 69 73 74 73 28 |tyRecord|.Exists(|
|00000c20| 29 29 0d 09 09 70 72 6f | 70 65 72 74 79 52 65 63 |))...pro|pertyRec|
|00000c30| 6f 72 64 2d 3e 47 65 74 | 54 79 70 65 64 44 61 74 |ord->Get|TypedDat|
|00000c40| 61 28 74 2c 20 54 55 70 | 64 61 74 61 44 61 74 61 |a(t, TUp|dataData|
|00000c50| 52 65 66 65 72 65 6e 63 | 65 28 74 79 70 65 54 79 |Referenc|e(typeTy|
|00000c60| 70 65 2c 20 28 63 68 61 | 72 2a 29 26 6f 62 6a 65 |pe, (cha|r*)&obje|
|00000c70| 63 74 43 6c 61 73 73 2c | 20 73 69 7a 65 6f 66 28 |ctClass,| sizeof(|
|00000c80| 44 65 73 63 54 79 70 65 | 29 2c 20 73 69 7a 65 6f |DescType|), sizeo|
|00000c90| 66 28 44 65 73 63 54 79 | 70 65 29 29 29 3b 0d 09 |f(DescTy|pe)));..|
|00000ca0| 0d 09 72 65 74 75 72 6e | 20 6f 62 6a 65 63 74 43 |..return| objectC|
|00000cb0| 6c 61 73 73 3b 0d 7d 0d | 0d 2f 2f 2d 2d 2d 2d 2d |lass;.}.|.//-----|
|00000cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 54 |--------|---.// T|
|00000d10| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 3a 3a |DBElemen|tToken::|
|00000d20| 44 65 72 69 76 65 64 46 | 72 6f 6d 4f 53 4c 43 6c |DerivedF|romOSLCl|
|00000d30| 61 73 73 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ass.//--|--------|
|00000d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d80| 2d 2d 2d 2d 2d 2d 0d 42 | 6f 6f 6c 65 61 6e 20 54 |------.B|oolean T|
|00000d90| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 3a 3a |DBElemen|tToken::|
|00000da0| 44 65 72 69 76 65 64 46 | 72 6f 6d 4f 53 4c 43 6c |DerivedF|romOSLCl|
|00000db0| 61 73 73 28 54 54 72 61 | 6e 73 61 63 74 69 6f 6e |ass(TTra|nsaction|
|00000dc0| 2a 20 74 2c 20 44 65 73 | 63 54 79 70 65 20 6f 62 |* t, Des|cType ob|
|00000dd0| 6a 65 63 74 43 6c 61 73 | 73 29 0d 7b 0d 09 72 65 |jectClas|s).{..re|
|00000de0| 74 75 72 6e 20 28 28 6f | 62 6a 65 63 74 43 6c 61 |turn ((o|bjectCla|
|00000df0| 73 73 20 3d 3d 20 74 68 | 69 73 2d 3e 4f 62 6a 65 |ss == th|is->Obje|
|00000e00| 63 74 43 6c 61 73 73 28 | 74 29 29 20 7c 7c 20 28 |ctClass(|t)) || (|
|00000e10| 49 6e 68 65 72 69 74 65 | 64 3a 3a 44 65 72 69 76 |Inherite|d::Deriv|
|00000e20| 65 64 46 72 6f 6d 4f 53 | 4c 43 6c 61 73 73 28 74 |edFromOS|LClass(t|
|00000e30| 2c 20 6f 62 6a 65 63 74 | 43 6c 61 73 73 29 29 29 |, object|Class)))|
|00000e40| 3b 0d 7d 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;.}..//-|--------|
|00000e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e90| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 44 42 45 6c |-------.|// TDBEl|
|00000ea0| 65 6d 65 6e 74 54 6f 6b | 65 6e 3a 3a 50 61 72 65 |ementTok|en::Pare|
|00000eb0| 6e 74 4f 62 6a 65 63 74 | 0d 2f 2f 2d 2d 2d 2d 2d |ntObject|.//-----|
|00000ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 54 41 62 73 |--------|---.TAbs|
|00000f10| 74 72 61 63 74 53 63 72 | 69 70 74 61 62 6c 65 4f |tractScr|iptableO|
|00000f20| 62 6a 65 63 74 2a 20 54 | 44 42 45 6c 65 6d 65 6e |bject* T|DBElemen|
|00000f30| 74 54 6f 6b 65 6e 3a 3a | 50 61 72 65 6e 74 4f 62 |tToken::|ParentOb|
|00000f40| 6a 65 63 74 28 54 54 72 | 61 6e 73 61 63 74 69 6f |ject(TTr|ansactio|
|00000f50| 6e 2a 20 74 29 0d 7b 0d | 09 54 41 62 73 74 72 61 |n* t).{.|.TAbstra|
|00000f60| 63 74 53 63 72 69 70 74 | 61 62 6c 65 4f 62 6a 65 |ctScript|ableObje|
|00000f70| 63 74 2a 20 70 61 72 65 | 6e 74 20 3d 20 6e 69 6c |ct* pare|nt = nil|
|00000f80| 3b 0d 09 41 43 6f 6e 73 | 74 3c 54 44 42 52 65 63 |;..ACons|t<TDBRec|
|00000f90| 6f 72 64 3e 20 70 61 72 | 65 6e 74 45 6c 65 6d 65 |ord> par|entEleme|
|00000fa0| 6e 74 20 3d 20 66 52 65 | 63 6f 72 64 2d 3e 54 72 |nt = fRe|cord->Tr|
|00000fb0| 65 65 4f 77 6e 65 72 28 | 74 29 3b 0d 0d 09 2f 2f |eeOwner(|t);...//|
|00000fc0| 0d 09 2f 2f 20 49 66 20 | 74 68 69 73 20 6e 6f 64 |..// If |this nod|
|00000fd0| 65 20 68 61 73 20 61 20 | 70 61 72 65 6e 74 2c 20 |e has a |parent, |
|00000fe0| 74 68 65 6e 20 69 74 20 | 69 73 20 6e 6f 74 20 74 |then it |is not t|
|00000ff0| 68 65 20 6d 65 74 61 72 | 6f 6f 74 0d 09 2f 2f 0d |he metar|oot..//.|
|00001000| 09 69 66 28 70 61 72 65 | 6e 74 45 6c 65 6d 65 6e |.if(pare|ntElemen|
|00001010| 74 2e 45 78 69 73 74 73 | 28 29 29 0d 09 7b 0d 09 |t.Exists|())..{..|
|00001020| 09 70 61 72 65 6e 74 20 | 3d 20 6e 65 77 20 54 44 |.parent |= new TD|
|00001030| 42 45 6c 65 6d 65 6e 74 | 54 6f 6b 65 6e 28 70 61 |BElement|Token(pa|
|00001040| 72 65 6e 74 45 6c 65 6d | 65 6e 74 2d 3e 44 42 45 |rentElem|ent->DBE|
|00001050| 6c 65 6d 65 6e 74 43 75 | 72 73 6f 72 28 29 29 3b |lementCu|rsor());|
|00001060| 0d 09 7d 0d 09 2f 2f 0d | 09 2f 2f 20 54 68 65 20 |..}..//.|.// The |
|00001070| 70 61 72 65 6e 74 20 6f | 66 20 74 68 65 20 6d 65 |parent o|f the me|
|00001080| 74 61 72 6f 6f 74 20 69 | 73 20 74 68 65 20 73 63 |taroot i|s the sc|
|00001090| 72 69 70 74 61 62 6c 65 | 20 64 62 20 64 6f 63 75 |riptable| db docu|
|000010a0| 6d 65 6e 74 0d 09 2f 2f | 20 74 68 61 74 20 63 6f |ment..//| that co|
|000010b0| 6e 74 61 69 6e 73 20 74 | 68 69 73 20 64 61 74 61 |ntains t|his data|
|000010c0| 62 61 73 65 20 64 6f 63 | 75 6d 65 6e 74 2e 0d 09 |base doc|ument...|
|000010d0| 2f 2f 0d 09 65 6c 73 65 | 0d 09 7b 0d 09 09 54 44 |//..else|..{...TD|
|000010e0| 61 74 61 62 61 73 65 44 | 6f 63 75 6d 65 6e 74 2a |atabaseD|ocument*|
|000010f0| 20 64 6f 63 20 3d 20 66 | 52 65 63 6f 72 64 2d 3e | doc = f|Record->|
|00001100| 44 42 44 6f 63 75 6d 65 | 6e 74 28 29 3b 0d 09 09 |DBDocume|nt();...|
|00001110| 70 61 72 65 6e 74 20 3d | 20 67 41 70 70 6c 69 63 |parent =| gApplic|
|00001120| 61 74 69 6f 6e 2d 3e 46 | 69 6e 64 44 6f 63 75 6d |ation->F|indDocum|
|00001130| 65 6e 74 28 64 6f 63 2d | 3e 4f 62 6a 65 63 74 73 |ent(doc-|>Objects|
|00001140| 4b 65 79 53 70 61 63 65 | 28 29 29 3b 0d 09 7d 0d |KeySpace|());..}.|
|00001150| 09 0d 09 72 65 74 75 72 | 6e 20 70 61 72 65 6e 74 |...retur|n parent|
|00001160| 3b 0d 7d 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;.}..//-|--------|
|00001170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011b0| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 44 42 45 6c |-------.|// TDBEl|
|000011c0| 65 6d 65 6e 74 54 6f 6b | 65 6e 3a 3a 45 6c 65 6d |ementTok|en::Elem|
|000011d0| 65 6e 74 49 74 65 72 61 | 74 6f 72 0d 2f 2f 2d 2d |entItera|tor.//--|
|000011e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 54 |--------|------.T|
|00001230| 41 62 73 74 72 61 63 74 | 4f 62 6a 65 63 74 49 74 |Abstract|ObjectIt|
|00001240| 65 72 61 74 6f 72 2a 20 | 54 44 42 45 6c 65 6d 65 |erator* |TDBEleme|
|00001250| 6e 74 54 6f 6b 65 6e 3a | 3a 45 6c 65 6d 65 6e 74 |ntToken:|:Element|
|00001260| 49 74 65 72 61 74 6f 72 | 28 54 54 72 61 6e 73 61 |Iterator|(TTransa|
|00001270| 63 74 69 6f 6e 2a 20 74 | 29 0d 7b 09 0d 09 2f 2f |ction* t|).{...//|
|00001280| 20 41 43 6f 6e 73 74 3c | 54 44 42 52 65 63 6f 72 | AConst<|TDBRecor|
|00001290| 64 3e 20 65 6c 65 6d 65 | 6e 74 73 20 3d 20 66 52 |d> eleme|nts = fR|
|000012a0| 65 63 6f 72 64 2d 3e 45 | 6c 65 6d 65 6e 74 73 28 |ecord->E|lements(|
|000012b0| 29 2d 3e 44 42 52 65 63 | 6f 72 64 43 75 72 73 6f |)->DBRec|ordCurso|
|000012c0| 72 28 29 3b 0d 09 41 43 | 6f 6e 73 74 3c 54 44 42 |r();..AC|onst<TDB|
|000012d0| 45 6c 65 6d 65 6e 74 3e | 20 65 6c 65 6d 65 6e 74 |Element>| element|
|000012e0| 73 20 3d 20 66 52 65 63 | 6f 72 64 2d 3e 45 6c 65 |s = fRec|ord->Ele|
|000012f0| 6d 65 6e 74 73 28 74 29 | 3b 0d 0d 09 54 41 62 73 |ments(t)|;...TAbs|
|00001300| 74 72 61 63 74 4f 62 6a | 65 63 74 49 74 65 72 61 |tractObj|ectItera|
|00001310| 74 6f 72 2a 20 69 74 65 | 72 20 3d 20 6e 69 6c 3b |tor* ite|r = nil;|
|00001320| 0d 09 0d 09 69 66 28 65 | 6c 65 6d 65 6e 74 73 2e |....if(e|lements.|
|00001330| 45 78 69 73 74 73 28 29 | 29 0d 09 09 7b 0d 09 09 |Exists()|)...{...|
|00001340| 69 74 65 72 20 3d 20 6e | 65 77 20 54 44 42 45 6c |iter = n|ew TDBEl|
|00001350| 65 6d 65 6e 74 54 6f 6b | 65 6e 49 74 65 72 61 74 |ementTok|enIterat|
|00001360| 6f 72 28 74 2c 20 65 6c | 65 6d 65 6e 74 73 2d 3e |or(t, el|ements->|
|00001370| 44 42 52 65 63 6f 72 64 | 43 75 72 73 6f 72 28 29 |DBRecord|Cursor()|
|00001380| 29 3b 0d 09 09 7d 0d 09 | 09 0d 09 72 65 74 75 72 |);...}..|...retur|
|00001390| 6e 20 69 74 65 72 3b 0d | 7d 0d 0d 0d 2f 2f 2d 2d |n iter;.|}...//--|
|000013a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|000013f0| 2f 20 54 44 42 45 6c 65 | 6d 65 6e 74 54 6f 6b 65 |/ TDBEle|mentToke|
|00001400| 6e 3a 3a 41 63 63 65 73 | 73 42 79 50 72 6f 70 65 |n::Acces|sByPrope|
|00001410| 72 74 79 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |rty.//--|--------|
|00001420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001460| 2d 2d 2d 2d 2d 2d 0d 54 | 41 62 73 74 72 61 63 74 |------.T|Abstract|
|00001470| 53 63 72 69 70 74 61 62 | 6c 65 4f 62 6a 65 63 74 |Scriptab|leObject|
|00001480| 2a 20 54 44 42 45 6c 65 | 6d 65 6e 74 54 6f 6b 65 |* TDBEle|mentToke|
|00001490| 6e 3a 3a 41 63 63 65 73 | 73 42 79 50 72 6f 70 65 |n::Acces|sByPrope|
|000014a0| 72 74 79 28 54 54 72 61 | 6e 73 61 63 74 69 6f 6e |rty(TTra|nsaction|
|000014b0| 2a 20 74 2c 20 44 65 73 | 63 54 79 70 65 20 70 72 |* t, Des|cType pr|
|000014c0| 6f 70 65 72 74 79 49 64 | 65 6e 74 69 66 69 65 72 |opertyId|entifier|
|000014d0| 29 0d 7b 0d 09 54 41 62 | 73 74 72 61 63 74 53 63 |).{..TAb|stractSc|
|000014e0| 72 69 70 74 61 62 6c 65 | 4f 62 6a 65 63 74 2a 20 |riptable|Object* |
|000014f0| 72 65 73 75 6c 74 20 3d | 20 6e 69 6c 3b 0d 09 0d |result =| nil;...|
|00001500| 09 2f 2f 0d 09 2f 2f 20 | 49 66 20 77 65 20 63 61 |.//..// |If we ca|
|00001510| 6e 20 67 65 6e 65 72 61 | 74 65 20 61 20 64 65 73 |n genera|te a des|
|00001520| 63 72 69 70 74 69 6f 6e | 20 66 6f 72 20 74 68 69 |cription| for thi|
|00001530| 73 20 70 72 6f 70 65 72 | 74 79 2c 0d 09 2f 2f 20 |s proper|ty,..// |
|00001540| 74 68 65 6e 20 63 61 6c | 6c 20 49 6e 68 65 72 69 |then cal|l Inheri|
|00001550| 74 65 64 3a 3a 20 74 6f | 20 6d 61 6b 65 20 74 68 |ted:: to| make th|
|00001560| 65 20 70 72 6f 70 65 72 | 74 79 20 74 6f 6b 65 6e |e proper|ty token|
|00001570| 0d 09 2f 2f 0d 09 69 66 | 28 74 68 69 73 2d 3e 44 |..//..if|(this->D|
|00001580| 65 73 63 72 69 70 74 69 | 6f 6e 4f 66 50 72 6f 70 |escripti|onOfProp|
|00001590| 65 72 74 79 28 74 2c 20 | 70 72 6f 70 65 72 74 79 |erty(t, |property|
|000015a0| 49 64 65 6e 74 69 66 69 | 65 72 29 20 21 3d 20 6e |Identifi|er) != n|
|000015b0| 69 6c 29 0d 09 7b 0d 09 | 09 72 65 73 75 6c 74 20 |il)..{..|.result |
|000015c0| 3d 20 49 6e 68 65 72 69 | 74 65 64 3a 3a 41 63 63 |= Inheri|ted::Acc|
|000015d0| 65 73 73 42 79 50 72 6f | 70 65 72 74 79 28 74 2c |essByPro|perty(t,|
|000015e0| 20 70 72 6f 70 65 72 74 | 79 49 64 65 6e 74 69 66 | propert|yIdentif|
|000015f0| 69 65 72 29 3b 0d 09 7d | 0d 09 65 6c 73 65 0d 09 |ier);..}|..else..|
|00001600| 7b 0d 09 09 2f 2f 0d 09 | 09 2f 2f 20 50 72 6f 62 |{...//..|.// Prob|
|00001610| 6c 65 6d 3a 20 20 46 6f | 72 20 74 68 69 73 20 64 |lem: Fo|r this d|
|00001620| 61 74 61 62 61 73 65 2c | 20 74 68 65 72 65 20 73 |atabase,| there s|
|00001630| 68 6f 75 6c 64 20 62 65 | 20 73 6f 6d 65 20 77 61 |hould be| some wa|
|00001640| 79 0d 09 09 2f 2f 20 74 | 6f 20 63 72 65 61 74 65 |y...// t|o create|
|00001650| 20 61 20 70 72 6f 70 65 | 72 74 79 20 74 68 61 74 | a prope|rty that|
|00001660| 20 64 6f 65 73 20 6e 6f | 74 20 65 78 69 73 74 20 | does no|t exist |
|00001670| 79 65 74 20 75 6e 64 65 | 72 20 73 6f 6d 65 0d 09 |yet unde|r some..|
|00001680| 09 2f 2f 20 73 69 74 75 | 61 74 69 6f 6e 73 20 28 |.// situ|ations (|
|00001690| 6d 61 79 62 65 20 73 6f | 6d 65 20 64 61 74 61 62 |maybe so|me datab|
|000016a0| 61 73 65 73 20 77 69 6c | 6c 20 61 6c 6c 6f 77 20 |ases wil|l allow |
|000016b0| 61 6e 79 20 70 72 6f 70 | 65 72 74 79 0d 09 09 2f |any prop|erty.../|
|000016c0| 2f 20 74 6f 20 62 65 20 | 61 64 64 65 64 20 74 6f |/ to be |added to|
|000016d0| 20 61 6e 79 20 65 6c 65 | 6d 65 6e 74 2c 20 62 75 | any ele|ment, bu|
|000016e0| 74 20 6d 6f 73 74 20 64 | 61 74 61 62 61 73 65 73 |t most d|atabases|
|000016f0| 20 77 69 6c 6c 0d 09 09 | 2f 2f 20 70 72 6f 62 61 | will...|// proba|
|00001700| 62 6c 79 20 72 65 73 74 | 72 69 63 74 20 74 68 65 |bly rest|rict the|
|00001710| 20 70 72 6f 70 65 72 74 | 69 65 73 20 74 68 61 74 | propert|ies that|
|00001720| 20 65 61 63 68 20 65 6c | 65 6d 65 6e 74 20 63 61 | each el|ement ca|
|00001730| 6e 0d 09 09 2f 2f 20 68 | 61 76 65 29 2e 0d 09 09 |n...// h|ave)....|
|00001740| 2f 2f 0d 09 09 2f 2f 20 | 57 65 20 61 6c 73 6f 20 |//...// |We also |
|00001750| 6e 65 65 64 20 74 6f 20 | 73 70 65 63 69 66 79 20 |need to |specify |
|00001760| 74 68 61 74 20 73 6f 6d | 65 20 70 72 6f 70 65 72 |that som|e proper|
|00001770| 74 69 65 73 20 61 72 65 | 20 72 65 61 64 0d 09 09 |ties are| read...|
|00001780| 2f 2f 20 6f 6e 6c 79 20 | 28 6d 61 79 62 65 3f 29 |// only |(maybe?)|
|00001790| 0d 09 09 2f 2f 0d 23 69 | 66 20 30 0d 09 09 41 43 |...//.#i|f 0...AC|
|000017a0| 6f 6e 73 74 3c 54 44 42 | 50 72 6f 70 65 72 74 79 |onst<TDB|Property|
|000017b0| 3e 20 70 72 6f 70 65 72 | 74 79 52 65 63 6f 72 64 |> proper|tyRecord|
|000017c0| 20 3d 20 66 52 65 63 6f | 72 64 2d 3e 47 65 74 50 | = fReco|rd->GetP|
|000017d0| 72 6f 70 65 72 74 79 52 | 65 63 6f 72 64 28 70 72 |ropertyR|ecord(pr|
|000017e0| 6f 70 65 72 74 79 49 64 | 65 6e 74 69 66 69 65 72 |opertyId|entifier|
|000017f0| 29 3b 0d 09 09 69 66 28 | 70 72 6f 70 65 72 74 79 |);...if(|property|
|00001800| 52 65 63 6f 72 64 2e 45 | 78 69 73 74 73 28 29 29 |Record.E|xists())|
|00001810| 0d 23 65 6e 64 69 66 0d | 09 09 7b 0d 09 09 09 2f |.#endif.|..{..../|
|00001820| 2f 0d 09 09 09 2f 2f 20 | 57 65 20 6e 65 65 64 20 |/....// |We need |
|00001830| 73 6f 6d 65 20 77 61 79 | 20 74 6f 20 64 65 74 65 |some way| to dete|
|00001840| 72 6d 69 6e 65 20 77 68 | 61 74 20 74 68 65 20 64 |rmine wh|at the d|
|00001850| 65 66 61 75 6c 74 20 74 | 79 70 65 0d 09 09 09 2f |efault t|ype..../|
|00001860| 2f 20 61 6e 64 20 62 65 | 73 74 20 74 79 70 65 20 |/ and be|st type |
|00001870| 66 6f 72 20 61 6e 79 20 | 67 69 76 65 6e 20 70 72 |for any |given pr|
|00001880| 6f 70 65 72 74 79 20 73 | 68 6f 75 6c 64 20 62 65 |operty s|hould be|
|00001890| 2e 0d 09 09 09 2f 2f 0d | 09 09 09 72 65 73 75 6c |.....//.|...resul|
|000018a0| 74 20 3d 20 6e 65 77 20 | 54 47 65 6e 65 72 69 63 |t = new |TGeneric|
|000018b0| 50 72 6f 70 65 72 74 79 | 3b 0d 09 09 09 28 28 54 |Property|;....((T|
|000018c0| 47 65 6e 65 72 69 63 50 | 72 6f 70 65 72 74 79 2a |GenericP|roperty*|
|000018d0| 29 72 65 73 75 6c 74 29 | 2d 3e 49 47 65 6e 65 72 |)result)|->IGener|
|000018e0| 69 63 50 72 6f 70 65 72 | 74 79 28 74 68 69 73 2c |icProper|ty(this,|
|000018f0| 20 54 50 72 6f 70 65 72 | 74 79 44 61 74 61 44 65 | TProper|tyDataDe|
|00001900| 73 63 72 69 70 74 69 6f | 6e 28 70 72 6f 70 65 72 |scriptio|n(proper|
|00001910| 74 79 49 64 65 6e 74 69 | 66 69 65 72 2c 20 30 2c |tyIdenti|fier, 0,|
|00001920| 20 74 79 70 65 57 69 6c | 64 43 61 72 64 2c 20 74 | typeWil|dCard, t|
|00001930| 79 70 65 57 69 6c 64 43 | 61 72 64 29 29 3b 0d 09 |ypeWildC|ard));..|
|00001940| 09 7d 0d 09 7d 0d 09 0d | 09 72 65 74 75 72 6e 20 |.}..}...|.return |
|00001950| 72 65 73 75 6c 74 3b 0d | 7d 0d 0d 0d 2f 2f 3d 3d |result;.|}...//==|
|00001960| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001970| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001980| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001990| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000019a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 2f |========|======./|
|000019b0| 2f 20 43 6c 61 73 73 20 | 54 44 65 73 63 72 69 70 |/ Class |TDescrip|
|000019c0| 74 6f 72 43 6f 6d 70 61 | 72 69 73 6f 6e 4f 62 6a |torCompa|risonObj|
|000019d0| 65 63 74 0d 2f 2f 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |ect.//==|========|
|000019e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000019f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001a00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001a10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001a20| 3d 3d 3d 3d 3d 3d 0d 63 | 6c 61 73 73 20 54 44 65 |======.c|lass TDe|
|00001a30| 73 63 72 69 70 74 6f 72 | 43 6f 6d 70 61 72 69 73 |scriptor|Comparis|
|00001a40| 6f 6e 4f 62 6a 65 63 74 | 20 3a 20 70 75 62 6c 69 |onObject| : publi|
|00001a50| 63 20 54 41 62 73 74 72 | 61 63 74 44 42 43 6f 6d |c TAbstr|actDBCom|
|00001a60| 70 61 72 69 73 6f 6e 4f | 62 6a 65 63 74 0d 7b 0d |parisonO|bject.{.|
|00001a70| 70 72 69 76 61 74 65 3a | 0d 09 63 6f 6e 73 74 20 |private:|..const |
|00001a80| 54 44 65 73 63 72 69 70 | 74 6f 72 09 09 09 09 66 |TDescrip|tor....f|
|00001a90| 53 65 61 72 63 68 4b 65 | 79 3b 0d 09 0d 70 75 62 |SearchKe|y;...pub|
|00001aa0| 6c 69 63 3a 0d 09 09 09 | 09 09 09 09 09 09 54 44 |lic:....|......TD|
|00001ab0| 65 73 63 72 69 70 74 6f | 72 43 6f 6d 70 61 72 69 |escripto|rCompari|
|00001ac0| 73 6f 6e 4f 62 6a 65 63 | 74 28 54 44 65 73 63 72 |sonObjec|t(TDescr|
|00001ad0| 69 70 74 6f 72 26 20 73 | 65 61 72 63 68 4b 65 79 |iptor& s|earchKey|
|00001ae0| 29 20 3a 20 66 53 65 61 | 72 63 68 4b 65 79 28 73 |) : fSea|rchKey(s|
|00001af0| 65 61 72 63 68 4b 65 79 | 29 20 7b 7d 3b 0d 0d 09 |earchKey|) {};...|
|00001b00| 76 69 72 74 75 61 6c 20 | 43 6f 6d 70 61 72 65 45 |virtual |CompareE|
|00001b10| 6e 75 6d 65 72 61 74 69 | 6f 6e 09 09 54 65 73 74 |numerati|on..Test|
|00001b20| 4f 62 6a 65 63 74 28 54 | 54 72 61 6e 73 61 63 74 |Object(T|Transact|
|00001b30| 69 6f 6e 2a 2c 20 41 43 | 6f 6e 73 74 3c 54 44 42 |ion*, AC|onst<TDB|
|00001b40| 52 65 63 6f 72 64 3e 29 | 3b 0d 7d 3b 0d 0d 2f 2f |Record>)|;.};..//|
|00001b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ba0| 0d 2f 2f 20 54 44 65 73 | 63 72 69 70 74 6f 72 43 |.// TDes|criptorC|
|00001bb0| 6f 6d 70 61 72 69 73 6f | 6e 4f 62 6a 65 63 74 3a |ompariso|nObject:|
|00001bc0| 3a 54 65 73 74 4f 62 6a | 65 63 74 0d 2f 2f 2d 2d |:TestObj|ect.//--|
|00001bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001bf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 43 |--------|------.C|
|00001c20| 6f 6d 70 61 72 65 45 6e | 75 6d 65 72 61 74 69 6f |ompareEn|umeratio|
|00001c30| 6e 20 54 44 65 73 63 72 | 69 70 74 6f 72 43 6f 6d |n TDescr|iptorCom|
|00001c40| 70 61 72 69 73 6f 6e 4f | 62 6a 65 63 74 3a 3a 54 |parisonO|bject::T|
|00001c50| 65 73 74 4f 62 6a 65 63 | 74 28 54 54 72 61 6e 73 |estObjec|t(TTrans|
|00001c60| 61 63 74 69 6f 6e 2a 20 | 74 2c 20 41 43 6f 6e 73 |action* |t, ACons|
|00001c70| 74 3c 54 44 42 52 65 63 | 6f 72 64 3e 20 74 65 73 |t<TDBRec|ord> tes|
|00001c80| 74 4f 62 6a 65 63 74 29 | 0d 7b 0d 09 2f 2f 0d 09 |tObject)|.{..//..|
|00001c90| 2f 2f 20 54 68 69 73 20 | 69 73 20 6e 6f 74 20 61 |// This |is not a|
|00001ca0| 20 76 65 72 79 20 66 61 | 73 74 20 77 61 79 20 74 | very fa|st way t|
|00001cb0| 6f 20 63 6f 6d 70 61 72 | 65 2c 20 62 75 74 20 69 |o compar|e, but i|
|00001cc0| 74 20 77 69 6c 6c 20 64 | 6f 20 66 6f 72 20 6e 6f |t will d|o for no|
|00001cd0| 77 2e 0d 09 2f 2f 0d 09 | 54 44 65 73 63 72 69 70 |w...//..|TDescrip|
|00001ce0| 74 6f 72 20 74 65 73 74 | 4e 61 6d 65 20 3d 20 47 |tor test|Name = G|
|00001cf0| 65 74 44 61 74 61 41 73 | 44 65 73 63 72 69 70 74 |etDataAs|Descript|
|00001d00| 6f 72 28 74 2c 20 74 65 | 73 74 4f 62 6a 65 63 74 |or(t, te|stObject|
|00001d10| 2d 3e 44 42 45 6c 65 6d | 65 6e 74 43 75 72 73 6f |->DBElem|entCurso|
|00001d20| 72 28 29 2d 3e 47 65 74 | 50 72 6f 70 65 72 74 79 |r()->Get|Property|
|00001d30| 52 65 63 6f 72 64 28 74 | 2c 20 70 4e 61 6d 65 29 |Record(t|, pName)|
|00001d40| 29 3b 0d 0d 09 2f 2f 0d | 09 2f 2f 20 54 68 69 73 |);...//.|.// This|
|00001d50| 20 41 70 70 6c 65 45 76 | 65 6e 74 20 41 50 49 20 | AppleEv|ent API |
|00001d60| 74 68 61 74 20 72 65 6d | 6f 76 65 73 20 69 6e 66 |that rem|oves inf|
|00001d70| 6f 72 6d 61 74 69 6f 6e | 20 66 72 6f 6d 20 74 68 |ormation| from th|
|00001d80| 65 20 72 65 73 75 6c 74 | 20 69 73 20 61 6e 6e 6f |e result| is anno|
|00001d90| 79 69 6e 67 2c 0d 09 2f | 2f 20 62 65 63 61 75 73 |ying,../|/ becaus|
|00001da0| 65 20 69 74 20 66 6f 72 | 63 65 73 20 75 73 20 74 |e it for|ces us t|
|00001db0| 6f 20 63 6f 6d 70 61 72 | 65 20 74 77 69 63 65 20 |o compar|e twice |
|00001dc0| 28 69 63 6b 29 2e 0d 09 | 2f 2f 0d 09 2f 2f 20 6b |(ick)...|//..// k|
|00001dd0| 41 45 47 72 65 61 74 65 | 72 54 68 61 6e 0d 09 2f |AEGreate|rThan../|
|00001de0| 2f 20 6b 41 45 4c 65 73 | 73 54 68 61 6e 0d 09 2f |/ kAELes|sThan../|
|00001df0| 2f 0d 09 42 6f 6f 6c 65 | 61 6e 20 69 73 4c 65 73 |/..Boole|an isLes|
|00001e00| 73 20 3d 20 66 53 65 61 | 72 63 68 4b 65 79 2e 43 |s = fSea|rchKey.C|
|00001e10| 6f 6d 70 61 72 65 28 6b | 41 45 4c 65 73 73 54 68 |ompare(k|AELessTh|
|00001e20| 61 6e 2c 20 74 65 73 74 | 4e 61 6d 65 29 3b 0d 09 |an, test|Name);..|
|00001e30| 42 6f 6f 6c 65 61 6e 20 | 69 73 47 72 65 61 74 65 |Boolean |isGreate|
|00001e40| 72 20 3d 20 66 53 65 61 | 72 63 68 4b 65 79 2e 43 |r = fSea|rchKey.C|
|00001e50| 6f 6d 70 61 72 65 28 6b | 41 45 47 72 65 61 74 65 |ompare(k|AEGreate|
|00001e60| 72 54 68 61 6e 2c 20 74 | 65 73 74 4e 61 6d 65 29 |rThan, t|estName)|
|00001e70| 3b 0d 09 0d 09 2f 2f 0d | 09 2f 2f 20 6b 53 65 63 |;....//.|.// kSec|
|00001e80| 6f 6e 64 4f 62 6a 65 63 | 74 43 6f 6d 65 73 42 65 |ondObjec|tComesBe|
|00001e90| 66 6f 72 65 20 3d 20 2d | 31 2c 0d 09 2f 2f 20 6b |fore = -|1,..// k|
|00001ea0| 4f 62 6a 65 63 74 4b 65 | 79 73 45 71 75 61 6c 20 |ObjectKe|ysEqual |
|00001eb0| 3d 20 30 2c 0d 09 2f 2f | 20 6b 53 65 63 6f 6e 64 |= 0,..//| kSecond|
|00001ec0| 4f 62 6a 65 63 74 43 6f | 6d 65 73 41 66 74 65 72 |ObjectCo|mesAfter|
|00001ed0| 20 3d 20 31 0d 09 2f 2f | 0d 09 72 65 74 75 72 6e | = 1..//|..return|
|00001ee0| 20 28 69 73 47 72 65 61 | 74 65 72 20 3f 20 6b 53 | (isGrea|ter ? kS|
|00001ef0| 65 63 6f 6e 64 4f 62 6a | 65 63 74 43 6f 6d 65 73 |econdObj|ectComes|
|00001f00| 41 66 74 65 72 20 3a 20 | 28 69 73 4c 65 73 73 20 |After : |(isLess |
|00001f10| 3f 20 6b 53 65 63 6f 6e | 64 4f 62 6a 65 63 74 43 |? kSecon|dObjectC|
|00001f20| 6f 6d 65 73 42 65 66 6f | 72 65 20 3a 20 6b 4f 62 |omesBefo|re : kOb|
|00001f30| 6a 65 63 74 4b 65 79 73 | 45 71 75 61 6c 29 29 3b |jectKeys|Equal));|
|00001f40| 0d 7d 20 2f 2f 20 54 44 | 65 73 63 72 69 70 74 6f |.} // TD|escripto|
|00001f50| 72 43 6f 6d 70 61 72 69 | 73 6f 6e 4f 62 6a 65 63 |rCompari|sonObjec|
|00001f60| 74 3a 3a 54 65 73 74 4f | 62 6a 65 63 74 0d 0d 2f |t::TestO|bject../|
|00001f70| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00001f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fc0| 2d 0d 2f 2f 20 54 44 42 | 45 6c 65 6d 65 6e 74 54 |-.// TDB|ElementT|
|00001fd0| 6f 6b 65 6e 3a 3a 41 63 | 63 65 73 73 42 79 55 6e |oken::Ac|cessByUn|
|00001fe0| 69 71 75 65 49 44 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |iqueID./|/-------|
|00001ff0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002000| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 54 41 62 73 74 72 |--------|-.TAbstr|
|00002040| 61 63 74 53 63 72 69 70 | 74 61 62 6c 65 4f 62 6a |actScrip|tableObj|
|00002050| 65 63 74 2a 20 54 44 42 | 45 6c 65 6d 65 6e 74 54 |ect* TDB|ElementT|
|00002060| 6f 6b 65 6e 3a 3a 41 63 | 63 65 73 73 42 79 55 6e |oken::Ac|cessByUn|
|00002070| 69 71 75 65 49 44 28 54 | 54 72 61 6e 73 61 63 74 |iqueID(T|Transact|
|00002080| 69 6f 6e 2a 20 74 2c 20 | 44 65 73 63 54 79 70 65 |ion* t, |DescType|
|00002090| 20 64 65 73 69 72 65 64 | 43 6c 61 73 73 2c 20 54 | desired|Class, T|
|000020a0| 44 65 73 63 72 69 70 74 | 6f 72 20 75 6e 69 71 75 |Descript|or uniqu|
|000020b0| 65 49 44 29 0d 7b 0d 09 | 54 41 62 73 74 72 61 63 |eID).{..|TAbstrac|
|000020c0| 74 53 63 72 69 70 74 61 | 62 6c 65 4f 62 6a 65 63 |tScripta|bleObjec|
|000020d0| 74 2a 20 72 65 73 75 6c | 74 20 3d 20 6e 69 6c 3b |t* resul|t = nil;|
|000020e0| 0d 09 6c 6f 6e 67 20 74 | 68 65 52 65 63 6f 72 64 |..long t|heRecord|
|000020f0| 49 6e 64 65 78 20 3d 20 | 75 6e 69 71 75 65 49 44 |Index = |uniqueID|
|00002100| 2e 47 65 74 4c 6f 6e 67 | 28 29 3b 0d 09 0d 09 2f |.GetLong|();..../|
|00002110| 2f 0d 09 2f 2f 20 47 65 | 74 20 74 68 65 20 73 70 |/..// Ge|t the sp|
|00002120| 65 63 69 66 69 65 64 20 | 72 65 63 6f 72 64 20 66 |ecified |record f|
|00002130| 72 6f 6d 20 74 68 65 20 | 64 61 74 61 62 61 73 65 |rom the |database|
|00002140| 2e 20 20 54 68 65 20 72 | 65 63 6f 72 64 0d 09 2f |. The r|ecord../|
|00002150| 2f 20 5f 6d 75 73 74 5f | 20 62 65 20 61 20 64 61 |/ _must_| be a da|
|00002160| 74 61 62 61 73 65 20 65 | 6c 65 6d 65 6e 74 20 28 |tabase e|lement (|
|00002170| 6e 6f 74 20 61 20 70 72 | 6f 70 65 72 74 79 29 3b |not a pr|operty);|
|00002180| 20 69 66 20 74 68 69 73 | 20 69 73 0d 09 2f 2f 20 | if this| is..// |
|00002190| 61 20 74 6f 6b 65 6e 20 | 66 6f 72 20 74 68 65 20 |a token |for the |
|000021a0| 6d 65 74 61 72 6f 6f 74 | 2c 20 74 68 65 6e 20 61 |metaroot|, then a|
|000021b0| 6c 6c 6f 77 20 61 6e 79 | 20 72 65 63 6f 72 64 20 |llow any| record |
|000021c0| 69 6e 20 61 6e 79 20 74 | 72 65 65 0d 09 2f 2f 20 |in any t|ree..// |
|000021d0| 74 6f 20 62 65 20 72 65 | 74 75 72 6e 65 64 2e 20 |to be re|turned. |
|000021e0| 20 4f 74 68 65 72 77 69 | 73 65 2c 20 72 65 71 75 | Otherwi|se, requ|
|000021f0| 69 72 65 20 74 68 61 74 | 20 74 68 65 20 72 65 63 |ire that| the rec|
|00002200| 6f 72 64 20 77 65 20 66 | 6f 75 6e 64 0d 09 2f 2f |ord we f|ound..//|
|00002210| 20 62 65 20 61 20 63 68 | 69 6c 64 20 6f 66 20 74 | be a ch|ild of t|
|00002220| 68 69 73 20 72 65 63 6f | 72 64 2e 0d 09 2f 2f 09 |his reco|rd...//.|
|00002230| 0d 09 41 43 6f 6e 73 74 | 3c 54 44 42 45 6c 65 6d |..AConst|<TDBElem|
|00002240| 65 6e 74 3e 20 74 68 65 | 52 65 63 6f 72 64 20 3d |ent> the|Record =|
|00002250| 20 66 52 65 63 6f 72 64 | 2d 3e 44 42 44 6f 63 75 | fRecord|->DBDocu|
|00002260| 6d 65 6e 74 28 29 2d 3e | 47 65 74 52 65 63 6f 72 |ment()->|GetRecor|
|00002270| 64 43 75 72 73 6f 72 28 | 74 68 65 52 65 63 6f 72 |dCursor(|theRecor|
|00002280| 64 49 6e 64 65 78 29 2d | 3e 44 42 45 6c 65 6d 65 |dIndex)-|>DBEleme|
|00002290| 6e 74 43 75 72 73 6f 72 | 28 29 3b 0d 09 69 66 28 |ntCursor|();..if(|
|000022a0| 74 68 65 52 65 63 6f 72 | 64 2e 45 78 69 73 74 73 |theRecor|d.Exists|
|000022b0| 28 29 29 0d 09 7b 0d 09 | 09 41 43 6f 6e 73 74 3c |())..{..|.AConst<|
|000022c0| 54 44 42 52 65 63 6f 72 | 64 3e 20 74 68 65 52 65 |TDBRecor|d> theRe|
|000022d0| 63 6f 72 64 4f 77 6e 65 | 72 20 3d 20 74 68 65 52 |cordOwne|r = theR|
|000022e0| 65 63 6f 72 64 2d 3e 54 | 72 65 65 4f 77 6e 65 72 |ecord->T|reeOwner|
|000022f0| 28 74 29 3b 0d 09 09 69 | 66 28 74 68 69 73 2d 3e |(t);...i|f(this->|
|00002300| 49 73 4d 65 74 61 52 6f | 6f 74 28 29 20 7c 7c 20 |IsMetaRo|ot() || |
|00002310| 28 74 68 65 52 65 63 6f | 72 64 4f 77 6e 65 72 2d |(theReco|rdOwner-|
|00002320| 3e 52 65 63 6f 72 64 49 | 6e 64 65 78 28 29 20 3d |>RecordI|ndex() =|
|00002330| 3d 20 66 52 65 63 6f 72 | 64 2d 3e 52 65 63 6f 72 |= fRecor|d->Recor|
|00002340| 64 49 6e 64 65 78 28 29 | 29 29 0d 09 09 7b 0d 09 |dIndex()|))...{..|
|00002350| 09 09 72 65 73 75 6c 74 | 20 3d 20 6e 65 77 20 54 |..result| = new T|
|00002360| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 28 74 |DBElemen|tToken(t|
|00002370| 68 65 52 65 63 6f 72 64 | 29 3b 0d 09 09 09 69 66 |heRecord|);....if|
|00002380| 28 72 65 73 75 6c 74 2d | 3e 44 65 72 69 76 65 64 |(result-|>Derived|
|00002390| 46 72 6f 6d 4f 53 4c 43 | 6c 61 73 73 28 74 2c 20 |FromOSLC|lass(t, |
|000023a0| 64 65 73 69 72 65 64 43 | 6c 61 73 73 29 20 3d 3d |desiredC|lass) ==|
|000023b0| 20 66 61 6c 73 65 29 0d | 09 09 09 7b 0d 09 09 09 | false).|...{....|
|000023c0| 09 72 65 73 75 6c 74 2d | 3e 44 69 73 70 6f 73 65 |.result-|>Dispose|
|000023d0| 44 65 73 69 67 6e 61 74 | 6f 72 28 29 3b 0d 09 09 |Designat|or();...|
|000023e0| 09 09 72 65 73 75 6c 74 | 20 3d 20 6e 69 6c 3b 0d |..result| = nil;.|
|000023f0| 09 09 09 7d 0d 09 09 7d | 0d 09 7d 0d 09 0d 09 2f |...}...}|..}..../|
|00002400| 2f 0d 09 2f 2f 20 49 66 | 20 77 65 20 63 6f 75 6c |/..// If| we coul|
|00002410| 64 20 6e 6f 74 20 66 69 | 6e 64 20 61 6e 20 61 70 |d not fi|nd an ap|
|00002420| 70 72 6f 70 72 69 61 74 | 65 20 72 65 63 6f 72 64 |propriat|e record|
|00002430| 20 77 69 74 68 20 74 68 | 65 20 67 69 76 65 6e 20 | with th|e given |
|00002440| 49 44 2c 0d 09 2f 2f 20 | 74 68 65 6e 20 63 61 6c |ID,..// |then cal|
|00002450| 6c 20 49 6e 68 65 72 69 | 74 65 64 2e 0d 09 2f 2f |l Inheri|ted...//|
|00002460| 0d 09 69 66 28 72 65 73 | 75 6c 74 20 3d 3d 20 6e |..if(res|ult == n|
|00002470| 69 6c 29 0d 09 09 72 65 | 73 75 6c 74 20 3d 20 49 |il)...re|sult = I|
|00002480| 6e 68 65 72 69 74 65 64 | 3a 3a 41 63 63 65 73 73 |nherited|::Access|
|00002490| 42 79 55 6e 69 71 75 65 | 49 44 28 74 2c 20 64 65 |ByUnique|ID(t, de|
|000024a0| 73 69 72 65 64 43 6c 61 | 73 73 2c 20 75 6e 69 71 |siredCla|ss, uniq|
|000024b0| 75 65 49 44 29 3b 0d 09 | 09 0d 09 72 65 74 75 72 |ueID);..|...retur|
|000024c0| 6e 20 72 65 73 75 6c 74 | 3b 0d 7d 0d 0d 2f 2f 2d |n result|;.}..//-|
|000024d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00002520| 2f 2f 20 54 44 42 45 6c | 65 6d 65 6e 74 54 6f 6b |// TDBEl|ementTok|
|00002530| 65 6e 3a 3a 42 65 73 74 | 54 79 70 65 0d 2f 2f 2d |en::Best|Type.//-|
|00002540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00002590| 44 65 73 63 54 79 70 65 | 20 54 44 42 45 6c 65 6d |DescType| TDBElem|
|000025a0| 65 6e 74 54 6f 6b 65 6e | 3a 3a 42 65 73 74 54 79 |entToken|::BestTy|
|000025b0| 70 65 28 54 54 72 61 6e | 73 61 63 74 69 6f 6e 2a |pe(TTran|saction*|
|000025c0| 20 74 2c 20 44 65 73 63 | 54 79 70 65 20 70 72 6f | t, Desc|Type pro|
|000025d0| 70 65 72 74 79 4e 61 6d | 65 29 0d 7b 0d 09 41 43 |pertyNam|e).{..AC|
|000025e0| 6f 6e 73 74 3c 54 44 42 | 50 72 6f 70 65 72 74 79 |onst<TDB|Property|
|000025f0| 3e 20 70 72 6f 70 65 72 | 74 79 52 65 63 6f 72 64 |> proper|tyRecord|
|00002600| 20 3d 20 66 52 65 63 6f | 72 64 2d 3e 47 65 74 50 | = fReco|rd->GetP|
|00002610| 72 6f 70 65 72 74 79 52 | 65 63 6f 72 64 28 74 2c |ropertyR|ecord(t,|
|00002620| 20 70 72 6f 70 65 72 74 | 79 4e 61 6d 65 29 3b 0d | propert|yName);.|
|00002630| 09 69 66 28 70 72 6f 70 | 65 72 74 79 52 65 63 6f |.if(prop|ertyReco|
|00002640| 72 64 2e 45 78 69 73 74 | 73 28 29 29 0d 09 7b 0d |rd.Exist|s())..{.|
|00002650| 09 09 72 65 74 75 72 6e | 20 70 72 6f 70 65 72 74 |..return| propert|
|00002660| 79 52 65 63 6f 72 64 2d | 3e 47 65 74 44 61 74 61 |yRecord-|>GetData|
|00002670| 54 79 70 65 28 74 29 3b | 0d 09 7d 0d 09 65 6c 73 |Type(t);|..}..els|
|00002680| 65 0d 09 09 72 65 74 75 | 72 6e 20 74 79 70 65 4e |e...retu|rn typeN|
|00002690| 75 6c 6c 3b 0d 7d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |ull;.}..|//------|
|000026a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000026e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 44 |--------|--.// TD|
|000026f0| 42 45 6c 65 6d 65 6e 74 | 54 6f 6b 65 6e 3a 3a 44 |BElement|Token::D|
|00002700| 65 66 61 75 6c 74 54 79 | 70 65 0d 2f 2f 2d 2d 2d |efaultTy|pe.//---|
|00002710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002720| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002740| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002750| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 44 65 |--------|-----.De|
|00002760| 73 63 54 79 70 65 20 54 | 44 42 45 6c 65 6d 65 6e |scType T|DBElemen|
|00002770| 74 54 6f 6b 65 6e 3a 3a | 44 65 66 61 75 6c 74 54 |tToken::|DefaultT|
|00002780| 79 70 65 28 54 54 72 61 | 6e 73 61 63 74 69 6f 6e |ype(TTra|nsaction|
|00002790| 2a 20 74 2c 20 44 65 73 | 63 54 79 70 65 20 70 72 |* t, Des|cType pr|
|000027a0| 6f 70 65 72 74 79 4e 61 | 6d 65 29 0d 7b 0d 09 41 |opertyNa|me).{..A|
|000027b0| 43 6f 6e 73 74 3c 54 44 | 42 50 72 6f 70 65 72 74 |Const<TD|BPropert|
|000027c0| 79 3e 20 70 72 6f 70 65 | 72 74 79 52 65 63 6f 72 |y> prope|rtyRecor|
|000027d0| 64 20 3d 20 66 52 65 63 | 6f 72 64 2d 3e 47 65 74 |d = fRec|ord->Get|
|000027e0| 50 72 6f 70 65 72 74 79 | 52 65 63 6f 72 64 28 74 |Property|Record(t|
|000027f0| 2c 20 70 72 6f 70 65 72 | 74 79 4e 61 6d 65 29 3b |, proper|tyName);|
|00002800| 0d 09 69 66 28 70 72 6f | 70 65 72 74 79 52 65 63 |..if(pro|pertyRec|
|00002810| 6f 72 64 2e 45 78 69 73 | 74 73 28 29 29 0d 09 7b |ord.Exis|ts())..{|
|00002820| 0d 09 09 72 65 74 75 72 | 6e 20 70 72 6f 70 65 72 |...retur|n proper|
|00002830| 74 79 52 65 63 6f 72 64 | 2d 3e 47 65 74 44 61 74 |tyRecord|->GetDat|
|00002840| 61 54 79 70 65 28 74 29 | 3b 0d 09 7d 0d 09 65 6c |aType(t)|;..}..el|
|00002850| 73 65 0d 09 09 72 65 74 | 75 72 6e 20 74 79 70 65 |se...ret|urn type|
|00002860| 4e 75 6c 6c 3b 0d 7d 0d | 0d 2f 2f 2d 2d 2d 2d 2d |Null;.}.|.//-----|
|00002870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000028a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000028b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 54 |--------|---.// T|
|000028c0| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 3a 3a |DBElemen|tToken::|
|000028d0| 43 61 6e 52 65 74 75 72 | 6e 44 61 74 61 4f 66 54 |CanRetur|nDataOfT|
|000028e0| 79 70 65 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ype.//--|--------|
|000028f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002930| 2d 2d 2d 2d 2d 2d 0d 42 | 6f 6f 6c 65 61 6e 20 54 |------.B|oolean T|
|00002940| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 3a 3a |DBElemen|tToken::|
|00002950| 43 61 6e 52 65 74 75 72 | 6e 44 61 74 61 4f 66 54 |CanRetur|nDataOfT|
|00002960| 79 70 65 28 54 54 72 61 | 6e 73 61 63 74 69 6f 6e |ype(TTra|nsaction|
|00002970| 2a 2c 20 44 65 73 63 54 | 79 70 65 20 2f 2a 70 72 |*, DescT|ype /*pr|
|00002980| 6f 70 65 72 74 79 4e 61 | 6d 65 2a 2f 2c 20 44 65 |opertyNa|me*/, De|
|00002990| 73 63 54 79 70 65 20 2f | 2a 64 65 73 69 72 65 64 |scType /|*desired|
|000029a0| 54 79 70 65 2a 2f 29 0d | 7b 0d 09 72 65 74 75 72 |Type*/).|{..retur|
|000029b0| 6e 20 74 72 75 65 3b 0d | 7d 0d 0d 0d 2f 2f 2d 2d |n true;.|}...//--|
|000029c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00002a10| 2f 20 54 44 42 45 6c 65 | 6d 65 6e 74 54 6f 6b 65 |/ TDBEle|mentToke|
|00002a20| 6e 3a 3a 47 65 74 50 72 | 6f 70 65 72 74 79 0d 2f |n::GetPr|operty./|
|00002a30| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00002a40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a80| 2d 0d 54 44 65 73 63 72 | 69 70 74 6f 72 20 54 44 |-.TDescr|iptor TD|
|00002a90| 42 45 6c 65 6d 65 6e 74 | 54 6f 6b 65 6e 3a 3a 47 |BElement|Token::G|
|00002aa0| 65 74 50 72 6f 70 65 72 | 74 79 28 54 54 72 61 6e |etProper|ty(TTran|
|00002ab0| 73 61 63 74 69 6f 6e 2a | 20 74 2c 20 44 65 73 63 |saction*| t, Desc|
|00002ac0| 54 79 70 65 20 70 72 6f | 70 65 72 74 79 4e 61 6d |Type pro|pertyNam|
|00002ad0| 65 2c 20 44 65 73 63 54 | 79 70 65 20 64 65 73 69 |e, DescT|ype desi|
|00002ae0| 72 65 64 54 79 70 65 2c | 20 75 6e 73 69 67 6e 65 |redType,| unsigne|
|00002af0| 64 20 6c 6f 6e 67 20 61 | 64 64 69 74 69 6f 6e 61 |d long a|dditiona|
|00002b00| 6c 49 6e 66 6f 20 2f 2a | 3d 20 30 2a 2f 29 0d 7b |lInfo /*|= 0*/).{|
|00002b10| 0d 09 54 44 65 73 63 72 | 69 70 74 6f 72 20 72 65 |..TDescr|iptor re|
|00002b20| 73 75 6c 74 3b 0d 09 0d | 09 73 77 69 74 63 68 28 |sult;...|.switch(|
|00002b30| 70 72 6f 70 65 72 74 79 | 4e 61 6d 65 29 0d 09 7b |property|Name)..{|
|00002b40| 0d 09 09 63 61 73 65 20 | 70 49 44 3a 0d 09 09 7b |...case |pID:...{|
|00002b50| 0d 09 09 09 72 65 73 75 | 6c 74 2e 4d 61 6b 65 4c |....resu|lt.MakeL|
|00002b60| 6f 6e 67 28 66 52 65 63 | 6f 72 64 2d 3e 52 65 63 |ong(fRec|ord->Rec|
|00002b70| 6f 72 64 49 6e 64 65 78 | 28 29 29 3b 0d 09 09 09 |ordIndex|());....|
|00002b80| 62 72 65 61 6b 3b 0d 09 | 09 7d 0d 09 09 0d 09 09 |break;..|.}......|
|00002b90| 63 61 73 65 20 70 49 6e | 64 65 78 3a 0d 09 09 7b |case pIn|dex:...{|
|00002ba0| 0d 09 09 09 69 66 28 74 | 68 69 73 2d 3e 49 73 4d |....if(t|his->IsM|
|00002bb0| 65 74 61 52 6f 6f 74 28 | 29 29 0d 09 09 09 09 46 |etaRoot(|)).....F|
|00002bc0| 61 69 6c 45 72 72 28 65 | 72 72 41 45 4e 6f 53 75 |ailErr(e|rrAENoSu|
|00002bd0| 63 68 4f 62 6a 65 63 74 | 29 3b 0d 09 09 09 65 6c |chObject|);....el|
|00002be0| 73 65 0d 09 09 09 7b 0d | 09 09 09 09 6c 6f 6e 67 |se....{.|....long|
|00002bf0| 20 69 6e 64 65 78 20 3d | 20 30 3b 0d 09 09 09 09 | index =| 0;.....|
|00002c00| 41 43 6f 6e 73 74 3c 54 | 44 42 52 65 63 6f 72 64 |AConst<T|DBRecord|
|00002c10| 3e 20 74 72 65 65 54 6f | 70 20 3d 20 66 52 65 63 |> treeTo|p = fRec|
|00002c20| 6f 72 64 2d 3e 54 6f 70 | 4f 66 54 72 65 65 28 74 |ord->Top|OfTree(t|
|00002c30| 29 3b 0d 09 09 09 09 66 | 6f 72 28 54 41 62 73 74 |);.....f|or(TAbst|
|00002c40| 72 61 63 74 52 65 63 6f | 72 64 49 74 65 72 61 74 |ractReco|rdIterat|
|00002c50| 6f 72 20 69 74 65 72 28 | 74 2c 20 74 72 65 65 54 |or iter(|t, treeT|
|00002c60| 6f 70 29 3b 20 69 74 65 | 72 2e 4d 6f 72 65 28 29 |op); ite|r.More()|
|00002c70| 3b 20 69 74 65 72 2e 4e | 65 78 74 28 29 29 0d 09 |; iter.N|ext())..|
|00002c80| 09 09 09 7b 0d 09 09 09 | 09 09 2b 2b 69 6e 64 65 |...{....|..++inde|
|00002c90| 78 3b 0d 09 09 09 09 09 | 69 66 28 69 74 65 72 2e |x;......|if(iter.|
|00002ca0| 43 75 72 72 65 6e 74 28 | 29 2d 3e 52 65 63 6f 72 |Current(|)->Recor|
|00002cb0| 64 49 6e 64 65 78 28 29 | 20 3d 3d 20 66 52 65 63 |dIndex()| == fRec|
|00002cc0| 6f 72 64 2d 3e 52 65 63 | 6f 72 64 49 6e 64 65 78 |ord->Rec|ordIndex|
|00002cd0| 28 29 29 0d 09 09 09 09 | 09 09 62 72 65 61 6b 3b |()).....|..break;|
|00002ce0| 0d 09 09 09 09 7d 0d 09 | 09 09 09 72 65 73 75 6c |.....}..|...resul|
|00002cf0| 74 2e 4d 61 6b 65 4c 6f | 6e 67 28 69 6e 64 65 78 |t.MakeLo|ng(index|
|00002d00| 29 3b 0d 09 09 09 7d 0d | 09 09 09 62 72 65 61 6b |);....}.|...break|
|00002d10| 3b 0d 09 09 7d 0d 09 09 | 0d 09 09 64 65 66 61 75 |;...}...|...defau|
|00002d20| 6c 74 3a 0d 09 09 7b 0d | 09 09 09 41 43 6f 6e 73 |lt:...{.|...ACons|
|00002d30| 74 3c 54 44 42 50 72 6f | 70 65 72 74 79 3e 20 70 |t<TDBPro|perty> p|
|00002d40| 72 6f 70 65 72 74 79 52 | 65 63 6f 72 64 20 3d 20 |ropertyR|ecord = |
|00002d50| 66 52 65 63 6f 72 64 2d | 3e 47 65 74 50 72 6f 70 |fRecord-|>GetProp|
|00002d60| 65 72 74 79 52 65 63 6f | 72 64 28 74 2c 20 70 72 |ertyReco|rd(t, pr|
|00002d70| 6f 70 65 72 74 79 4e 61 | 6d 65 29 3b 0d 09 09 09 |opertyNa|me);....|
|00002d80| 69 66 28 70 72 6f 70 65 | 72 74 79 52 65 63 6f 72 |if(prope|rtyRecor|
|00002d90| 64 2e 45 78 69 73 74 73 | 28 29 29 0d 09 09 09 7b |d.Exists|())....{|
|00002da0| 0d 09 09 09 09 72 65 73 | 75 6c 74 20 3d 20 47 65 |.....res|ult = Ge|
|00002db0| 74 44 61 74 61 41 73 44 | 65 73 63 72 69 70 74 6f |tDataAsD|escripto|
|00002dc0| 72 28 74 2c 20 70 72 6f | 70 65 72 74 79 52 65 63 |r(t, pro|pertyRec|
|00002dd0| 6f 72 64 29 3b 0d 09 09 | 09 7d 0d 09 09 09 65 6c |ord);...|.}....el|
|00002de0| 73 65 0d 09 09 09 09 72 | 65 73 75 6c 74 20 3d 20 |se.....r|esult = |
|00002df0| 49 6e 68 65 72 69 74 65 | 64 3a 3a 47 65 74 50 72 |Inherite|d::GetPr|
|00002e00| 6f 70 65 72 74 79 28 74 | 2c 20 70 72 6f 70 65 72 |operty(t|, proper|
|00002e10| 74 79 4e 61 6d 65 2c 20 | 64 65 73 69 72 65 64 54 |tyName, |desiredT|
|00002e20| 79 70 65 2c 20 61 64 64 | 69 74 69 6f 6e 61 6c 49 |ype, add|itionalI|
|00002e30| 6e 66 6f 29 3b 0d 09 09 | 09 0d 09 09 09 62 72 65 |nfo);...|.....bre|
|00002e40| 61 6b 3b 0d 09 09 7d 0d | 09 7d 0d 09 0d 09 72 65 |ak;...}.|.}....re|
|00002e50| 74 75 72 6e 20 72 65 73 | 75 6c 74 3b 0d 7d 0d 0d |turn res|ult;.}..|
|00002e60| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00002e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002eb0| 2d 2d 0d 2f 2f 20 54 44 | 42 45 6c 65 6d 65 6e 74 |--.// TD|BElement|
|00002ec0| 54 6f 6b 65 6e 3a 3a 43 | 6f 6d 70 61 72 65 50 72 |Token::C|omparePr|
|00002ed0| 6f 70 65 72 74 79 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |operty./|/-------|
|00002ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 42 6f 6f 6c 65 61 |--------|-.Boolea|
|00002f30| 6e 20 54 44 42 45 6c 65 | 6d 65 6e 74 54 6f 6b 65 |n TDBEle|mentToke|
|00002f40| 6e 3a 3a 43 6f 6d 70 61 | 72 65 50 72 6f 70 65 72 |n::Compa|reProper|
|00002f50| 74 79 28 54 54 72 61 6e | 73 61 63 74 69 6f 6e 2a |ty(TTran|saction*|
|00002f60| 20 74 2c 20 44 65 73 63 | 54 79 70 65 20 70 72 6f | t, Desc|Type pro|
|00002f70| 70 65 72 74 79 49 64 65 | 6e 74 69 66 69 65 72 2c |pertyIde|ntifier,|
|00002f80| 20 44 65 73 63 54 79 70 | 65 20 63 6f 6d 70 61 72 | DescTyp|e compar|
|00002f90| 69 73 6f 6e 4f 70 65 72 | 61 74 6f 72 2c 20 54 44 |isonOper|ator, TD|
|00002fa0| 65 73 63 72 69 70 74 6f | 72 20 63 6f 6d 70 61 72 |escripto|r compar|
|00002fb0| 65 57 69 74 68 29 0d 7b | 0d 09 42 6f 6f 6c 65 61 |eWith).{|..Boolea|
|00002fc0| 6e 20 63 6f 6d 70 61 72 | 65 52 65 73 75 6c 74 20 |n compar|eResult |
|00002fd0| 3d 20 66 61 6c 73 65 3b | 0d 09 42 6f 6f 6c 65 61 |= false;|..Boolea|
|00002fe0| 6e 20 64 69 64 43 6f 6d | 70 61 72 65 20 3d 20 66 |n didCom|pare = f|
|00002ff0| 61 6c 73 65 3b 0d 09 0d | 09 41 43 6f 6e 73 74 3c |alse;...|.AConst<|
|00003000| 54 44 42 50 72 6f 70 65 | 72 74 79 3e 20 70 72 6f |TDBPrope|rty> pro|
|00003010| 70 65 72 74 79 52 65 63 | 6f 72 64 20 3d 20 66 52 |pertyRec|ord = fR|
|00003020| 65 63 6f 72 64 2d 3e 47 | 65 74 50 72 6f 70 65 72 |ecord->G|etProper|
|00003030| 74 79 52 65 63 6f 72 64 | 28 74 2c 20 70 72 6f 70 |tyRecord|(t, prop|
|00003040| 65 72 74 79 49 64 65 6e | 74 69 66 69 65 72 29 3b |ertyIden|tifier);|
|00003050| 0d 09 69 66 28 70 72 6f | 70 65 72 74 79 52 65 63 |..if(pro|pertyRec|
|00003060| 6f 72 64 2e 45 78 69 73 | 74 73 28 29 29 0d 09 7b |ord.Exis|ts())..{|
|00003070| 0d 09 09 73 68 6f 72 74 | 20 6f 6c 64 53 74 61 74 |...short| oldStat|
|00003080| 65 20 3d 20 63 6f 6d 70 | 61 72 65 57 69 74 68 2e |e = comp|areWith.|
|00003090| 4c 6f 63 6b 28 29 3b 0d | 0d 09 09 73 77 69 74 63 |Lock();.|...switc|
|000030a0| 68 28 63 6f 6d 70 61 72 | 69 73 6f 6e 4f 70 65 72 |h(compar|isonOper|
|000030b0| 61 74 6f 72 29 0d 09 09 | 7b 0d 09 09 09 63 61 73 |ator)...|{....cas|
|000030c0| 65 20 6b 41 45 45 71 75 | 61 6c 73 3a 09 09 0d 09 |e kAEEqu|als:....|
|000030d0| 09 09 63 61 73 65 20 6b | 41 53 4e 6f 74 45 71 75 |..case k|ASNotEqu|
|000030e0| 61 6c 3a 0d 09 09 09 63 | 61 73 65 20 6b 41 45 47 |al:....c|ase kAEG|
|000030f0| 72 65 61 74 65 72 54 68 | 61 6e 3a 0d 09 09 09 63 |reaterTh|an:....c|
|00003100| 61 73 65 20 6b 41 45 47 | 72 65 61 74 65 72 54 68 |ase kAEG|reaterTh|
|00003110| 61 6e 45 71 75 61 6c 73 | 3a 0d 09 09 09 63 61 73 |anEquals|:....cas|
|00003120| 65 20 6b 41 45 4c 65 73 | 73 54 68 61 6e 3a 0d 09 |e kAELes|sThan:..|
|00003130| 09 09 63 61 73 65 20 6b | 41 53 4c 65 73 73 54 68 |..case k|ASLessTh|
|00003140| 61 6e 4f 72 45 71 75 61 | 6c 3a 0d 09 09 09 7b 0d |anOrEqua|l:....{.|
|00003150| 09 09 09 09 63 6f 6d 70 | 61 72 65 52 65 73 75 6c |....comp|areResul|
|00003160| 74 20 3d 20 49 6e 74 65 | 72 70 72 65 74 43 6f 6d |t = Inte|rpretCom|
|00003170| 70 61 72 65 52 65 73 75 | 6c 74 28 63 6f 6d 70 61 |pareResu|lt(compa|
|00003180| 72 69 73 6f 6e 4f 70 65 | 72 61 74 6f 72 2c 20 70 |risonOpe|rator, p|
|00003190| 72 6f 70 65 72 74 79 52 | 65 63 6f 72 64 2d 3e 43 |ropertyR|ecord->C|
|000031a0| 6f 6d 70 61 72 65 28 74 | 2c 20 63 6f 6d 70 61 72 |ompare(t|, compar|
|000031b0| 65 57 69 74 68 29 2c 20 | 30 20 29 3b 0d 09 09 09 |eWith), |0 );....|
|000031c0| 09 64 69 64 43 6f 6d 70 | 61 72 65 20 3d 20 74 72 |.didComp|are = tr|
|000031d0| 75 65 3b 0d 09 09 09 09 | 62 72 65 61 6b 3b 0d 09 |ue;.....|break;..|
|000031e0| 09 09 7d 0d 09 09 09 0d | 09 09 09 63 61 73 65 20 |..}.....|...case |
|000031f0| 6b 41 45 43 6f 6e 74 61 | 69 6e 73 3a 0d 09 09 09 |kAEConta|ins:....|
|00003200| 7b 0d 09 09 09 09 63 6f | 6d 70 61 72 65 52 65 73 |{.....co|mpareRes|
|00003210| 75 6c 74 20 3d 20 70 72 | 6f 70 65 72 74 79 52 65 |ult = pr|opertyRe|
|00003220| 63 6f 72 64 2d 3e 43 6f | 6e 74 61 69 6e 73 28 74 |cord->Co|ntains(t|
|00003230| 2c 20 63 6f 6d 70 61 72 | 65 57 69 74 68 29 3b 0d |, compar|eWith);.|
|00003240| 09 09 09 09 64 69 64 43 | 6f 6d 70 61 72 65 20 3d |....didC|ompare =|
|00003250| 20 74 72 75 65 3b 0d 09 | 09 09 09 62 72 65 61 6b | true;..|...break|
|00003260| 3b 0d 09 09 09 7d 0d 09 | 09 09 0d 09 09 09 2f 2f |;....}..|......//|
|00003270| 0d 09 09 09 2f 2f 20 57 | 65 20 64 6f 6e 27 74 20 |....// W|e don't |
|00003280| 65 78 70 6f 72 74 20 65 | 6e 6f 75 67 68 20 64 61 |export e|nough da|
|00003290| 74 61 20 74 6f 20 64 6f | 20 62 65 67 69 6e 73 20 |ta to do| begins |
|000032a0| 77 69 74 68 20 6f 72 0d | 09 09 09 2f 2f 20 65 6e |with or.|...// en|
|000032b0| 64 73 20 77 69 74 68 2c | 20 73 6f 20 77 65 27 6c |ds with,| so we'l|
|000032c0| 6c 20 6a 75 73 74 20 63 | 61 6c 6c 20 49 6e 68 65 |l just c|all Inhe|
|000032d0| 72 69 74 65 64 20 61 6e | 64 20 61 6c 6c 6f 77 0d |rited an|d allow.|
|000032e0| 09 09 09 2f 2f 20 74 68 | 65 20 63 6f 6d 70 61 72 |...// th|e compar|
|000032f0| 69 73 6f 6e 20 74 6f 20 | 62 65 20 64 6f 6e 65 20 |ison to |be done |
|00003300| 74 68 65 20 73 6c 6f 77 | 20 77 61 79 2e 0d 09 09 |the slow| way....|
|00003310| 09 2f 2f 0d 09 09 09 63 | 61 73 65 20 6b 41 45 42 |.//....c|ase kAEB|
|00003320| 65 67 69 6e 73 57 69 74 | 68 3a 0d 09 09 09 63 61 |eginsWit|h:....ca|
|00003330| 73 65 20 6b 41 45 45 6e | 64 73 57 69 74 68 3a 0d |se kAEEn|dsWith:.|
|00003340| 09 09 09 64 65 66 61 75 | 6c 74 3a 0d 09 09 09 7b |...defau|lt:....{|
|00003350| 0d 09 09 09 09 64 69 64 | 43 6f 6d 70 61 72 65 20 |.....did|Compare |
|00003360| 3d 20 66 61 6c 73 65 3b | 0d 09 09 09 09 62 72 65 |= false;|.....bre|
|00003370| 61 6b 3b 0d 09 09 09 7d | 0d 09 09 7d 0d 0d 09 09 |ak;....}|...}....|
|00003380| 63 6f 6d 70 61 72 65 57 | 69 74 68 2e 55 6e 6c 6f |compareW|ith.Unlo|
|00003390| 63 6b 28 6f 6c 64 53 74 | 61 74 65 29 3b 0d 09 7d |ck(oldSt|ate);..}|
|000033a0| 0d 09 65 6c 73 65 0d 09 | 09 64 69 64 43 6f 6d 70 |..else..|.didComp|
|000033b0| 61 72 65 20 3d 20 66 61 | 6c 73 65 3b 0d 0d 09 2f |are = fa|lse;.../|
|000033c0| 2f 0d 09 2f 2f 20 49 66 | 20 77 65 20 63 6f 75 6c |/..// If| we coul|
|000033d0| 64 6e 27 74 20 64 6f 20 | 74 68 65 20 63 6f 6d 70 |dn't do |the comp|
|000033e0| 61 72 65 2c 20 74 68 65 | 6e 20 63 61 6c 6c 20 49 |are, the|n call I|
|000033f0| 6e 68 65 72 69 74 65 64 | 0d 09 2f 2f 0d 09 69 66 |nherited|..//..if|
|00003400| 28 64 69 64 43 6f 6d 70 | 61 72 65 20 3d 3d 20 66 |(didComp|are == f|
|00003410| 61 6c 73 65 29 0d 09 09 | 63 6f 6d 70 61 72 65 52 |alse)...|compareR|
|00003420| 65 73 75 6c 74 20 3d 20 | 49 6e 68 65 72 69 74 65 |esult = |Inherite|
|00003430| 64 3a 3a 43 6f 6d 70 61 | 72 65 50 72 6f 70 65 72 |d::Compa|reProper|
|00003440| 74 79 28 74 2c 20 70 72 | 6f 70 65 72 74 79 49 64 |ty(t, pr|opertyId|
|00003450| 65 6e 74 69 66 69 65 72 | 2c 20 63 6f 6d 70 61 72 |entifier|, compar|
|00003460| 69 73 6f 6e 4f 70 65 72 | 61 74 6f 72 2c 20 63 6f |isonOper|ator, co|
|00003470| 6d 70 61 72 65 57 69 74 | 68 29 3b 0d 09 0d 09 72 |mpareWit|h);....r|
|00003480| 65 74 75 72 6e 20 63 6f | 6d 70 61 72 65 52 65 73 |eturn co|mpareRes|
|00003490| 75 6c 74 3b 0d 7d 20 2f | 2f 20 54 44 42 45 6c 65 |ult;.} /|/ TDBEle|
|000034a0| 6d 65 6e 74 54 6f 6b 65 | 6e 3a 3a 43 6f 6d 70 61 |mentToke|n::Compa|
|000034b0| 72 65 50 72 6f 70 65 72 | 74 79 0d 0d 2f 2f 2d 2d |reProper|ty..//--|
|000034c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000034f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00003510| 2f 20 54 44 42 45 6c 65 | 6d 65 6e 74 54 6f 6b 65 |/ TDBEle|mentToke|
|00003520| 6e 3a 3a 53 65 74 50 72 | 6f 70 65 72 74 79 0d 2f |n::SetPr|operty./|
|00003530| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00003540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003580| 2d 0d 76 6f 69 64 20 54 | 44 42 45 6c 65 6d 65 6e |-.void T|DBElemen|
|00003590| 74 54 6f 6b 65 6e 3a 3a | 53 65 74 50 72 6f 70 65 |tToken::|SetPrope|
|000035a0| 72 74 79 28 54 54 72 61 | 6e 73 61 63 74 69 6f 6e |rty(TTra|nsaction|
|000035b0| 2a 20 74 72 61 6e 73 61 | 63 74 69 6f 6e 2c 20 44 |* transa|ction, D|
|000035c0| 65 73 63 54 79 70 65 20 | 70 72 6f 70 65 72 74 79 |escType |property|
|000035d0| 4e 61 6d 65 2c 20 54 44 | 65 73 63 72 69 70 74 6f |Name, TD|escripto|
|000035e0| 72 26 20 64 61 74 61 2c | 20 75 6e 73 69 67 6e 65 |r& data,| unsigne|
|000035f0| 64 20 6c 6f 6e 67 20 2f | 2a 61 64 64 69 74 69 6f |d long /|*additio|
|00003600| 6e 61 6c 49 6e 66 6f 20 | 3d 20 30 2a 2f 29 0d 7b |nalInfo |= 0*/).{|
|00003610| 0d 09 73 77 69 74 63 68 | 28 70 72 6f 70 65 72 74 |..switch|(propert|
|00003620| 79 4e 61 6d 65 29 0d 09 | 7b 0d 09 09 63 61 73 65 |yName)..|{...case|
|00003630| 20 70 49 6e 64 65 78 3a | 0d 09 09 63 61 73 65 20 | pIndex:|...case |
|00003640| 70 49 44 3a 0d 09 09 7b | 0d 09 09 09 46 61 69 6c |pID:...{|....Fail|
|00003650| 45 72 72 28 65 72 72 41 | 45 4e 6f 74 4d 6f 64 69 |Err(errA|ENotModi|
|00003660| 66 69 61 62 6c 65 29 3b | 0d 09 09 09 62 72 65 61 |fiable);|....brea|
|00003670| 6b 3b 0d 09 09 7d 0d 09 | 09 0d 09 09 64 65 66 61 |k;...}..|....defa|
|00003680| 75 6c 74 3a 0d 09 09 7b | 0d 09 09 09 41 6e 55 70 |ult:...{|....AnUp|
|00003690| 64 61 74 65 3c 54 44 42 | 45 6c 65 6d 65 6e 74 3e |date<TDB|Element>|
|000036a0| 20 75 70 64 61 74 65 45 | 6c 65 6d 65 6e 74 20 3d | updateE|lement =|
|000036b0| 20 74 72 61 6e 73 61 63 | 74 69 6f 6e 2d 3e 47 65 | transac|tion->Ge|
|000036c0| 74 44 42 45 6c 65 6d 65 | 6e 74 55 70 64 61 74 65 |tDBEleme|ntUpdate|
|000036d0| 50 6f 69 6e 74 65 72 28 | 66 52 65 63 6f 72 64 29 |Pointer(|fRecord)|
|000036e0| 3b 0d 09 09 0d 09 09 09 | 48 4c 6f 63 6b 28 64 61 |;.......|HLock(da|
|000036f0| 74 61 2e 44 61 74 61 48 | 61 6e 64 6c 65 28 29 29 |ta.DataH|andle())|
|00003700| 3b 0d 09 09 09 63 68 61 | 72 2a 20 64 61 74 61 50 |;....cha|r* dataP|
|00003710| 74 72 20 3d 20 2a 64 61 | 74 61 2e 44 61 74 61 48 |tr = *da|ta.DataH|
|00003720| 61 6e 64 6c 65 28 29 3b | 0d 09 09 09 6c 6f 6e 67 |andle();|....long|
|00003730| 20 64 61 74 61 4c 65 6e | 67 74 68 20 3d 20 47 65 | dataLen|gth = Ge|
|00003740| 74 48 61 6e 64 6c 65 53 | 69 7a 65 28 64 61 74 61 |tHandleS|ize(data|
|00003750| 2e 44 61 74 61 48 61 6e | 64 6c 65 28 29 29 3b 0d |.DataHan|dle());.|
|00003760| 09 09 09 6c 6f 6e 67 20 | 64 61 74 61 54 79 70 65 |...long |dataType|
|00003770| 20 3d 20 64 61 74 61 2e | 44 65 73 63 72 69 70 74 | = data.|Descript|
|00003780| 6f 72 54 79 70 65 28 29 | 3b 0d 09 09 09 0d 09 09 |orType()|;.......|
|00003790| 09 75 70 64 61 74 65 45 | 6c 65 6d 65 6e 74 2d 3e |.updateE|lement->|
|000037a0| 41 64 64 54 79 70 65 64 | 50 72 6f 70 65 72 74 79 |AddTyped|Property|
|000037b0| 28 74 72 61 6e 73 61 63 | 74 69 6f 6e 2c 20 70 72 |(transac|tion, pr|
|000037c0| 6f 70 65 72 74 79 4e 61 | 6d 65 2c 20 54 43 6f 6e |opertyNa|me, TCon|
|000037d0| 73 74 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 28 |stDataRe|ference(|
|000037e0| 64 61 74 61 54 79 70 65 | 2c 20 64 61 74 61 50 74 |dataType|, dataPt|
|000037f0| 72 2c 20 64 61 74 61 4c | 65 6e 67 74 68 29 29 3b |r, dataL|ength));|
|00003800| 0d 09 09 09 48 55 6e 6c | 6f 63 6b 28 64 61 74 61 |....HUnl|ock(data|
|00003810| 2e 44 61 74 61 48 61 6e | 64 6c 65 28 29 29 3b 0d |.DataHan|dle());.|
|00003820| 09 09 09 0d 09 09 09 2f | 2f 0d 09 09 09 2f 2f 20 |......./|/....// |
|00003830| 4d 61 6b 65 20 73 75 72 | 65 20 74 68 61 74 20 74 |Make sur|e that t|
|00003840| 68 65 20 74 72 65 65 20 | 69 73 20 73 74 69 6c 6c |he tree |is still|
|00003850| 20 68 61 70 70 79 0d 09 | 09 09 2f 2f 0d 09 09 09 | happy..|..//....|
|00003860| 66 52 65 63 6f 72 64 2d | 3e 56 65 72 69 66 79 28 |fRecord-|>Verify(|
|00003870| 74 72 61 6e 73 61 63 74 | 69 6f 6e 2c 20 74 72 75 |transact|ion, tru|
|00003880| 65 29 3b 0d 09 09 09 62 | 72 65 61 6b 3b 0d 09 09 |e);....b|reak;...|
|00003890| 7d 0d 09 7d 0d 7d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |}..}.}..|//------|
|000038a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000038e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 44 |--------|--.// TD|
|000038f0| 42 45 6c 65 6d 65 6e 74 | 54 6f 6b 65 6e 3a 3a 42 |BElement|Token::B|
|00003900| 75 69 6c 64 4f 62 6a 65 | 63 74 53 70 65 63 69 66 |uildObje|ctSpecif|
|00003910| 69 65 72 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ier.//--|--------|
|00003920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003930| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003960| 2d 2d 2d 2d 2d 2d 0d 54 | 44 65 73 63 72 69 70 74 |------.T|Descript|
|00003970| 6f 72 20 54 44 42 45 6c | 65 6d 65 6e 74 54 6f 6b |or TDBEl|ementTok|
|00003980| 65 6e 3a 3a 42 75 69 6c | 64 4f 62 6a 65 63 74 53 |en::Buil|dObjectS|
|00003990| 70 65 63 69 66 69 65 72 | 28 54 54 72 61 6e 73 61 |pecifier|(TTransa|
|000039a0| 63 74 69 6f 6e 2a 20 74 | 29 0d 7b 0d 09 2f 2f 0d |ction* t|).{..//.|
|000039b0| 09 2f 2f 20 49 66 20 74 | 68 69 73 20 72 65 63 6f |.// If t|his reco|
|000039c0| 72 64 20 69 73 20 74 68 | 65 20 6d 65 74 61 72 6f |rd is th|e metaro|
|000039d0| 6f 74 2c 20 64 6f 6e 27 | 74 20 62 75 69 6c 64 0d |ot, don'|t build.|
|000039e0| 09 2f 2f 20 61 6e 20 6f | 62 6a 65 63 74 20 73 70 |.// an o|bject sp|
|000039f0| 65 63 69 66 69 65 72 20 | 66 6f 72 20 69 74 3b 20 |ecifier |for it; |
|00003a00| 6a 75 73 74 20 6d 61 6b | 65 20 6f 6e 65 0d 09 2f |just mak|e one../|
|00003a10| 2f 20 66 6f 72 20 74 68 | 65 20 70 61 72 65 6e 74 |/ for th|e parent|
|00003a20| 20 6f 62 6a 65 63 74 0d | 09 2f 2f 0d 09 69 66 28 | object.|.//..if(|
|00003a30| 74 68 69 73 2d 3e 49 73 | 4d 65 74 61 52 6f 6f 74 |this->Is|MetaRoot|
|00003a40| 28 29 29 0d 09 09 72 65 | 74 75 72 6e 20 74 68 69 |())...re|turn thi|
|00003a50| 73 2d 3e 42 75 69 6c 64 | 53 70 65 63 69 66 69 65 |s->Build|Specifie|
|00003a60| 72 46 6f 72 50 61 72 65 | 6e 74 28 74 29 3b 0d 09 |rForPare|nt(t);..|
|00003a70| 65 6c 73 65 0d 09 09 72 | 65 74 75 72 6e 20 49 6e |else...r|eturn In|
|00003a80| 68 65 72 69 74 65 64 3a | 3a 42 75 69 6c 64 4f 62 |herited:|:BuildOb|
|00003a90| 6a 65 63 74 53 70 65 63 | 69 66 69 65 72 28 74 29 |jectSpec|ifier(t)|
|00003aa0| 3b 0d 7d 0d 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;.}..//-|--------|
|00003ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003af0| 2d 2d 2d 2d 2d 2d 2d 0d | 2f 2f 20 54 44 42 45 6c |-------.|// TDBEl|
|00003b00| 65 6d 65 6e 74 54 6f 6b | 65 6e 3a 3a 4d 61 6b 65 |ementTok|en::Make|
|00003b10| 4b 65 79 44 61 74 61 46 | 6f 72 53 65 6c 66 0d 2f |KeyDataF|orSelf./|
|00003b20| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00003b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b70| 2d 0d 76 6f 69 64 20 54 | 44 42 45 6c 65 6d 65 6e |-.void T|DBElemen|
|00003b80| 74 54 6f 6b 65 6e 3a 3a | 4d 61 6b 65 4b 65 79 44 |tToken::|MakeKeyD|
|00003b90| 61 74 61 46 6f 72 53 65 | 6c 66 28 54 54 72 61 6e |ataForSe|lf(TTran|
|00003ba0| 73 61 63 74 69 6f 6e 2a | 20 74 2c 20 44 65 73 63 |saction*| t, Desc|
|00003bb0| 54 79 70 65 26 20 6b 65 | 79 46 6f 72 6d 2c 20 54 |Type& ke|yForm, T|
|00003bc0| 44 65 73 63 72 69 70 74 | 6f 72 26 20 6b 65 79 44 |Descript|or& keyD|
|00003bd0| 61 74 61 29 0d 7b 0d 09 | 2f 2f 0d 09 2f 2f 20 49 |ata).{..|//..// I|
|00003be0| 66 20 77 65 20 68 61 76 | 65 20 61 20 6e 61 6d 65 |f we hav|e a name|
|00003bf0| 20 70 72 6f 70 65 72 74 | 79 20 61 6e 64 20 74 68 | propert|y and th|
|00003c00| 69 73 20 72 65 63 6f 72 | 64 20 69 73 20 69 6e 20 |is recor|d is in |
|00003c10| 61 20 74 72 65 65 2c 0d | 09 2f 2f 20 74 68 65 6e |a tree,.|.// then|
|00003c20| 20 64 65 73 63 72 69 62 | 65 20 74 68 69 73 20 65 | describ|e this e|
|00003c30| 6c 65 6d 65 6e 74 20 61 | 73 20 22 65 6c 65 6d 65 |lement a|s "eleme|
|00003c40| 6e 74 20 78 78 78 22 20 | 6f 66 20 3c 70 61 72 65 |nt xxx" |of <pare|
|00003c50| 6e 74 20 73 70 65 63 69 | 66 69 65 72 3e 0d 09 2f |nt speci|fier>../|
|00003c60| 2f 0d 09 41 43 6f 6e 73 | 74 3c 54 44 42 50 72 6f |/..ACons|t<TDBPro|
|00003c70| 70 65 72 74 79 3e 20 6e | 61 6d 65 50 72 6f 70 65 |perty> n|amePrope|
|00003c80| 72 74 79 20 3d 20 66 52 | 65 63 6f 72 64 2d 3e 47 |rty = fR|ecord->G|
|00003c90| 65 74 50 72 6f 70 65 72 | 74 79 52 65 63 6f 72 64 |etProper|tyRecord|
|00003ca0| 28 74 2c 20 70 4e 61 6d | 65 29 3b 0d 09 69 66 28 |(t, pNam|e);..if(|
|00003cb0| 6e 61 6d 65 50 72 6f 70 | 65 72 74 79 2e 45 78 69 |nameProp|erty.Exi|
|00003cc0| 73 74 73 28 29 20 26 26 | 20 66 52 65 63 6f 72 64 |sts() &&| fRecord|
|00003cd0| 2d 3e 52 65 63 6f 72 64 | 49 73 49 6e 41 54 72 65 |->Record|IsInATre|
|00003ce0| 65 28 74 29 29 0d 09 7b | 0d 09 09 49 6e 68 65 72 |e(t))..{|...Inher|
|00003cf0| 69 74 65 64 3a 3a 4d 61 | 6b 65 4b 65 79 44 61 74 |ited::Ma|keKeyDat|
|00003d00| 61 46 6f 72 53 65 6c 66 | 28 74 2c 20 6b 65 79 46 |aForSelf|(t, keyF|
|00003d10| 6f 72 6d 2c 20 6b 65 79 | 44 61 74 61 29 3b 0d 09 |orm, key|Data);..|
|00003d20| 7d 0d 09 2f 2f 0d 09 2f | 2f 20 49 66 20 74 68 65 |}..//../|/ If the|
|00003d30| 72 65 20 69 73 20 6e 6f | 20 6e 61 6d 65 20 70 72 |re is no| name pr|
|00003d40| 6f 70 65 72 74 79 2c 20 | 4f 52 20 69 66 20 77 65 |operty, |OR if we|
|00003d50| 20 68 61 76 65 20 6e 6f | 20 70 61 72 65 6e 74 2c | have no| parent,|
|00003d60| 20 74 68 65 6e 20 64 65 | 73 63 72 69 62 65 0d 09 | then de|scribe..|
|00003d70| 2f 2f 20 74 68 69 73 20 | 65 6c 65 6d 65 6e 74 20 |// this |element |
|00003d80| 62 79 20 75 6e 69 71 75 | 65 20 49 44 2e 0d 09 2f |by uniqu|e ID.../|
|00003d90| 2f 0d 09 65 6c 73 65 0d | 09 7b 0d 09 09 6b 65 79 |/..else.|.{...key|
|00003da0| 46 6f 72 6d 20 3d 20 66 | 6f 72 6d 55 6e 69 71 75 |Form = f|ormUniqu|
|00003db0| 65 49 44 3b 0d 09 09 6b | 65 79 44 61 74 61 2e 4d |eID;...k|eyData.M|
|00003dc0| 61 6b 65 4c 6f 6e 67 28 | 66 52 65 63 6f 72 64 2d |akeLong(|fRecord-|
|00003dd0| 3e 52 65 63 6f 72 64 49 | 6e 64 65 78 28 29 29 3b |>RecordI|ndex());|
|00003de0| 0d 09 7d 0d 7d 0d 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |..}.}../|/-------|
|00003df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2f 2f 20 54 44 42 |--------|-.// TDB|
|00003e40| 45 6c 65 6d 65 6e 74 54 | 6f 6b 65 6e 3a 3a 42 75 |ElementT|oken::Bu|
|00003e50| 69 6c 64 53 70 65 63 69 | 66 69 65 72 46 6f 72 50 |ildSpeci|fierForP|
|00003e60| 61 72 65 6e 74 0d 2f 2f | 2d 2d 2d 2d 2d 2d 2d 2d |arent.//|--------|
|00003e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 54 44 65 73 63 72 69 |--------|.TDescri|
|00003ec0| 70 74 6f 72 20 54 44 42 | 45 6c 65 6d 65 6e 74 54 |ptor TDB|ElementT|
|00003ed0| 6f 6b 65 6e 3a 3a 42 75 | 69 6c 64 53 70 65 63 69 |oken::Bu|ildSpeci|
|00003ee0| 66 69 65 72 46 6f 72 50 | 61 72 65 6e 74 28 54 54 |fierForP|arent(TT|
|00003ef0| 72 61 6e 73 61 63 74 69 | 6f 6e 2a 20 74 29 0d 7b |ransacti|on* t).{|
|00003f00| 0d 09 72 65 74 75 72 6e | 20 49 6e 68 65 72 69 74 |..return| Inherit|
|00003f10| 65 64 3a 3a 42 75 69 6c | 64 53 70 65 63 69 66 69 |ed::Buil|dSpecifi|
|00003f20| 65 72 46 6f 72 50 61 72 | 65 6e 74 28 74 29 3b 0d |erForPar|ent(t);.|
|00003f30| 7d 0d 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..//---|--------|
|00003f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f80| 2d 2d 2d 2d 2d 0d 2f 2f | 20 54 44 42 45 6c 65 6d |-----.//| TDBElem|
|00003f90| 65 6e 74 54 6f 6b 65 6e | 3a 3a 41 45 43 6f 6d 6d |entToken|::AEComm|
|00003fa0| 61 6e 64 0d 2f 2f 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |and.//--|--------|
|00003fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003fe0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ff0| 2d 2d 2d 2d 2d 2d 0d 54 | 44 65 73 63 72 69 70 74 |------.T|Descript|
|00004000| 6f 72 20 54 44 42 45 6c | 65 6d 65 6e 74 54 6f 6b |or TDBEl|ementTok|
|00004010| 65 6e 3a 3a 41 45 43 6f | 6d 6d 61 6e 64 28 54 54 |en::AECo|mmand(TT|
|00004020| 72 61 6e 73 61 63 74 69 | 6f 6e 2a 20 74 2c 20 54 |ransacti|on* t, T|
|00004030| 41 45 76 65 6e 74 20 61 | 65 2c 20 54 41 45 76 65 |AEvent a|e, TAEve|
|00004040| 6e 74 20 72 65 70 6c 79 | 2c 20 6c 6f 6e 67 20 61 |nt reply|, long a|
|00004050| 65 43 6f 6d 6d 61 6e 64 | 49 44 2c 20 54 41 62 73 |eCommand|ID, TAbs|
|00004060| 74 72 61 63 74 53 63 72 | 69 70 74 61 62 6c 65 4f |tractScr|iptableO|
|00004070| 62 6a 65 63 74 2a 20 61 | 75 78 4f 62 6a 65 63 74 |bject* a|uxObject|
|00004080| 73 2c 20 6c 6f 6e 67 20 | 61 75 78 49 6e 66 6f 29 |s, long |auxInfo)|
|00004090| 0d 7b 0d 09 54 44 65 73 | 63 72 69 70 74 6f 72 20 |.{..TDes|criptor |
|000040a0| 72 65 73 75 6c 74 3b 0d | 09 0d 09 73 77 69 74 63 |result;.|...switc|
|000040b0| 68 28 61 65 43 6f 6d 6d | 61 6e 64 49 44 29 0d 09 |h(aeComm|andID)..|
|000040c0| 7b 0d 09 09 63 61 73 65 | 20 6b 41 45 44 65 6c 65 |{...case| kAEDele|
|000040d0| 74 65 3a 0d 09 09 7b 0d | 09 09 09 41 6e 55 70 64 |te:...{.|...AnUpd|
|000040e0| 61 74 65 3c 54 44 42 45 | 6c 65 6d 65 6e 74 3e 20 |ate<TDBE|lement> |
|000040f0| 75 70 64 61 74 65 45 6c | 65 6d 65 6e 74 20 3d 20 |updateEl|ement = |
|00004100| 74 2d 3e 47 65 74 44 42 | 45 6c 65 6d 65 6e 74 55 |t->GetDB|ElementU|
|00004110| 70 64 61 74 65 50 6f 69 | 6e 74 65 72 28 66 52 65 |pdatePoi|nter(fRe|
|00004120| 63 6f 72 64 29 3b 0d 09 | 09 09 75 70 64 61 74 65 |cord);..|..update|
|00004130| 45 6c 65 6d 65 6e 74 2d | 3e 46 72 65 65 54 68 69 |Element-|>FreeThi|
|00004140| 73 52 65 63 6f 72 64 28 | 74 29 3b 0d 09 09 09 0d |sRecord(|t);.....|
|00004150| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 7d 0d 09 09 |...break|;...}...|
|00004160| 0d 09 09 64 65 66 61 75 | 6c 74 3a 0d 09 09 7b 0d |...defau|lt:...{.|
|00004170| 09 09 09 72 65 73 75 6c | 74 20 3d 20 49 6e 68 65 |...resul|t = Inhe|
|00004180| 72 69 74 65 64 3a 3a 41 | 45 43 6f 6d 6d 61 6e 64 |rited::A|ECommand|
|00004190| 28 74 2c 20 61 65 2c 20 | 72 65 70 6c 79 2c 20 61 |(t, ae, |reply, a|
|000041a0| 65 43 6f 6d 6d 61 6e 64 | 49 44 2c 20 61 75 78 4f |eCommand|ID, auxO|
|000041b0| 62 6a 65 63 74 73 2c 20 | 61 75 78 49 6e 66 6f 29 |bjects, |auxInfo)|
|000041c0| 3b 0d 09 09 09 62 72 65 | 61 6b 3b 0d 09 09 7d 0d |;....bre|ak;...}.|
|000041d0| 09 7d 0d 09 0d 09 72 65 | 74 75 72 6e 20 72 65 73 |.}....re|turn res|
|000041e0| 75 6c 74 3b 0d 7d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |ult;.}..|//------|
|000041f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 54 44 |--------|--.// TD|
|00004240| 42 45 6c 65 6d 65 6e 74 | 54 6f 6b 65 6e 3a 3a 43 |BElement|Token::C|
|00004250| 72 65 61 74 65 4e 65 77 | 45 6c 65 6d 65 6e 74 0d |reateNew|Element.|
|00004260| 2f 2f 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |//------|--------|
|00004270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000042b0| 2d 2d 0d 54 41 62 73 74 | 72 61 63 74 53 63 72 69 |--.TAbst|ractScri|
|000042c0| 70 74 61 62 6c 65 4f 62 | 6a 65 63 74 2a 20 54 44 |ptableOb|ject* TD|
|000042d0| 42 45 6c 65 6d 65 6e 74 | 54 6f 6b 65 6e 3a 3a 43 |BElement|Token::C|
|000042e0| 72 65 61 74 65 4e 65 77 | 45 6c 65 6d 65 6e 74 28 |reateNew|Element(|
|000042f0| 54 54 72 61 6e 73 61 63 | 74 69 6f 6e 2a 20 74 72 |TTransac|tion* tr|
|00004300| 61 6e 73 61 63 74 69 6f | 6e 2c 20 54 41 45 76 65 |ansactio|n, TAEve|
|00004310| 6e 74 20 2f 2a 61 65 2a | 2f 2c 20 54 41 45 76 65 |nt /*ae*|/, TAEve|
|00004320| 6e 74 20 2f 2a 72 65 70 | 6c 79 2a 2f 2c 20 44 65 |nt /*rep|ly*/, De|
|00004330| 73 63 54 79 70 65 20 6e | 65 77 4f 62 6a 65 63 74 |scType n|ewObject|
|00004340| 43 6c 61 73 73 2c 20 54 | 44 65 73 63 72 69 70 74 |Class, T|Descript|
|00004350| 6f 72 20 2f 2a 69 6e 69 | 74 69 61 6c 44 61 74 61 |or /*ini|tialData|
|00004360| 2a 2f 2c 20 54 44 65 73 | 63 72 69 70 74 6f 72 20 |*/, TDes|criptor |
|00004370| 2f 2a 69 6e 69 74 69 61 | 6c 50 72 6f 70 65 72 74 |/*initia|lPropert|
|00004380| 69 65 73 2a 2f 2c 20 42 | 6f 6f 6c 65 61 6e 26 20 |ies*/, B|oolean& |
|00004390| 2f 2a 75 73 65 64 49 6e | 69 74 69 61 6c 44 61 74 |/*usedIn|itialDat|
|000043a0| 61 2a 2f 2c 20 42 6f 6f | 6c 65 61 6e 26 20 2f 2a |a*/, Boo|lean& /*|
|000043b0| 75 73 65 64 49 6e 69 74 | 69 61 6c 50 72 6f 70 65 |usedInit|ialPrope|
|000043c0| 72 74 69 65 73 2a 2f 29 | 0d 7b 0d 09 41 6e 55 70 |rties*/)|.{..AnUp|
|000043d0| 64 61 74 65 3c 54 44 42 | 45 6c 65 6d 65 6e 74 3e |date<TDB|Element>|
|000043e0| 20 75 70 64 61 74 65 45 | 6c 65 6d 65 6e 74 20 3d | updateE|lement =|
|000043f0| 20 74 72 61 6e 73 61 63 | 74 69 6f 6e 2d 3e 47 65 | transac|tion->Ge|
|00004400| 74 44 42 45 6c 65 6d 65 | 6e 74 55 70 64 61 74 65 |tDBEleme|ntUpdate|
|00004410| 50 6f 69 6e 74 65 72 28 | 66 52 65 63 6f 72 64 29 |Pointer(|fRecord)|
|00004420| 3b 0d 09 0d 09 41 6e 55 | 70 64 61 74 65 3c 54 44 |;....AnU|pdate<TD|
|00004430| 42 45 6c 65 6d 65 6e 74 | 3e 20 6e 65 77 45 6c 65 |BElement|> newEle|
|00004440| 6d 65 6e 74 20 3d 20 66 | 52 65 63 6f 72 64 2d 3e |ment = f|Record->|
|00004450| 44 42 44 6f 63 75 6d 65 | 6e 74 28 29 2d 3e 4e 65 |DBDocume|nt()->Ne|
|00004460| 77 44 42 45 6c 65 6d 65 | 6e 74 28 74 72 61 6e 73 |wDBEleme|nt(trans|
|00004470| 61 63 74 69 6f 6e 29 3b | 0d 09 6e 65 77 45 6c 65 |action);|..newEle|
|00004480| 6d 65 6e 74 2d 3e 41 64 | 64 54 79 70 65 64 50 72 |ment->Ad|dTypedPr|
|00004490| 6f 70 65 72 74 79 28 74 | 72 61 6e 73 61 63 74 69 |operty(t|ransacti|
|000044a0| 6f 6e 2c 20 70 43 6c 61 | 73 73 2c 20 54 43 6f 6e |on, pCla|ss, TCon|
|000044b0| 73 74 44 61 74 61 52 65 | 66 65 72 65 6e 63 65 28 |stDataRe|ference(|
|000044c0| 74 79 70 65 54 79 70 65 | 2c 20 28 50 74 72 29 26 |typeType|, (Ptr)&|
|000044d0| 6e 65 77 4f 62 6a 65 63 | 74 43 6c 61 73 73 2c 20 |newObjec|tClass, |
|000044e0| 73 69 7a 65 6f 66 28 44 | 65 73 63 54 79 70 65 29 |sizeof(D|escType)|
|000044f0| 29 29 3b 0d 09 75 70 64 | 61 74 65 45 6c 65 6d 65 |));..upd|ateEleme|
|00004500| 6e 74 2d 3e 41 64 64 45 | 6c 65 6d 65 6e 74 28 74 |nt->AddE|lement(t|
|00004510| 72 61 6e 73 61 63 74 69 | 6f 6e 2c 20 6e 65 77 45 |ransacti|on, newE|
|00004520| 6c 65 6d 65 6e 74 29 3b | 0d 0d 09 2f 2f 0d 09 2f |lement);|...//../|
|00004530| 2f 20 4d 61 6b 65 20 73 | 75 72 65 20 74 68 61 74 |/ Make s|ure that|
|00004540| 20 74 68 65 20 74 72 65 | 65 20 69 73 20 73 74 69 | the tre|e is sti|
|00004550| 6c 6c 20 68 61 70 70 79 | 0d 09 2f 2f 0d 09 66 52 |ll happy|..//..fR|
|00004560| 65 63 6f 72 64 2d 3e 56 | 65 72 69 66 79 28 74 72 |ecord->V|erify(tr|
|00004570| 61 6e 73 61 63 74 69 6f | 6e 2c 20 74 72 75 65 29 |ansactio|n, true)|
|00004580| 3b 0d 0d 09 72 65 74 75 | 72 6e 20 6e 65 77 20 54 |;...retu|rn new T|
|00004590| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 28 6e |DBElemen|tToken(n|
|000045a0| 65 77 45 6c 65 6d 65 6e | 74 29 3b 0d 7d 0d 0d 2f |ewElemen|t);.}../|
|000045b0| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|000045c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 2f 2f 20 54 44 42 |--------|-.// TDB|
|00004610| 45 6c 65 6d 65 6e 74 54 | 6f 6b 65 6e 3a 3a 4f 62 |ElementT|oken::Ob|
|00004620| 6a 65 63 74 73 41 72 65 | 54 68 65 53 61 6d 65 3a |jectsAre|TheSame:|
|00004630| 20 0d 2f 2f 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | .//----|--------|
|00004640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004670| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 42 6f 6f |--------|----.Boo|
|00004690| 6c 65 61 6e 20 54 44 42 | 45 6c 65 6d 65 6e 74 54 |lean TDB|ElementT|
|000046a0| 6f 6b 65 6e 3a 3a 4f 62 | 6a 65 63 74 73 41 72 65 |oken::Ob|jectsAre|
|000046b0| 54 68 65 53 61 6d 65 28 | 54 54 72 61 6e 73 61 63 |TheSame(|TTransac|
|000046c0| 74 69 6f 6e 2a 2c 20 54 | 41 62 73 74 72 61 63 74 |tion*, T|Abstract|
|000046d0| 53 63 72 69 70 74 61 62 | 6c 65 4f 62 6a 65 63 74 |Scriptab|leObject|
|000046e0| 2a 20 6f 62 6a 65 63 74 | 54 6f 54 65 73 74 29 0d |* object|ToTest).|
|000046f0| 7b 0d 09 42 6f 6f 6c 65 | 61 6e 20 61 72 65 54 68 |{..Boole|an areTh|
|00004700| 65 53 61 6d 65 20 3d 20 | 66 61 6c 73 65 3b 0d 09 |eSame = |false;..|
|00004710| 0d 09 69 66 28 6f 62 6a | 65 63 74 54 6f 54 65 73 |..if(obj|ectToTes|
|00004720| 74 2d 3e 44 65 72 69 76 | 65 64 46 72 6f 6d 28 63 |t->Deriv|edFrom(c|
|00004730| 6c 44 42 45 6c 65 6d 65 | 6e 74 54 6f 6b 65 6e 29 |lDBEleme|ntToken)|
|00004740| 29 0d 09 7b 0d 09 09 61 | 72 65 54 68 65 53 61 6d |)..{...a|reTheSam|
|00004750| 65 20 3d 20 28 28 74 68 | 69 73 2d 3e 52 65 63 6f |e = ((th|is->Reco|
|00004760| 72 64 49 6e 64 65 78 28 | 29 20 3d 3d 20 28 28 54 |rdIndex(|) == ((T|
|00004770| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 2a 29 |DBElemen|tToken*)|
|00004780| 6f 62 6a 65 63 74 54 6f | 54 65 73 74 29 2d 3e 52 |objectTo|Test)->R|
|00004790| 65 63 6f 72 64 49 6e 64 | 65 78 28 29 29 20 26 26 |ecordInd|ex()) &&|
|000047a0| 0d 09 09 09 09 28 74 68 | 69 73 2d 3e 44 6f 63 75 |.....(th|is->Docu|
|000047b0| 6d 65 6e 74 49 64 65 6e | 74 69 66 69 65 72 28 29 |mentIden|tifier()|
|000047c0| 20 3d 3d 20 28 28 54 44 | 42 45 6c 65 6d 65 6e 74 | == ((TD|BElement|
|000047d0| 54 6f 6b 65 6e 2a 29 6f | 62 6a 65 63 74 54 6f 54 |Token*)o|bjectToT|
|000047e0| 65 73 74 29 2d 3e 44 6f | 63 75 6d 65 6e 74 49 64 |est)->Do|cumentId|
|000047f0| 65 6e 74 69 66 69 65 72 | 28 29 29 29 3b 0d 09 7d |entifier|()));..}|
|00004800| 0d 09 09 0d 09 72 65 74 | 75 72 6e 20 61 72 65 54 |.....ret|urn areT|
|00004810| 68 65 53 61 6d 65 3b 0d | 7d 20 2f 2f 20 54 44 42 |heSame;.|} // TDB|
|00004820| 45 6c 65 6d 65 6e 74 54 | 6f 6b 65 6e 3a 3a 4f 62 |ElementT|oken::Ob|
|00004830| 6a 65 63 74 73 41 72 65 | 54 68 65 53 61 6d 65 0d |jectsAre|TheSame.|
|00004840| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00004850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004890| 2d 2d 2d 0d 2f 2f 20 54 | 44 42 45 6c 65 6d 65 6e |---.// T|DBElemen|
|000048a0| 74 54 6f 6b 65 6e 3a 3a | 49 73 4d 65 74 61 52 6f |tToken::|IsMetaRo|
|000048b0| 6f 74 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ot.//---|--------|
|000048c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000048d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000048e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000048f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004900| 2d 2d 2d 2d 2d 0d 42 6f | 6f 6c 65 61 6e 20 54 44 |-----.Bo|olean TD|
|00004910| 42 45 6c 65 6d 65 6e 74 | 54 6f 6b 65 6e 3a 3a 49 |BElement|Token::I|
|00004920| 73 4d 65 74 61 52 6f 6f | 74 28 29 0d 7b 0d 09 72 |sMetaRoo|t().{..r|
|00004930| 65 74 75 72 6e 20 66 52 | 65 63 6f 72 64 2d 3e 52 |eturn fR|ecord->R|
|00004940| 65 63 6f 72 64 49 6e 64 | 65 78 28 29 20 3d 3d 20 |ecordInd|ex() == |
|00004950| 66 52 65 63 6f 72 64 2d | 3e 44 42 44 6f 63 75 6d |fRecord-|>DBDocum|
|00004960| 65 6e 74 28 29 2d 3e 4d | 65 74 61 52 6f 6f 74 49 |ent()->M|etaRootI|
|00004970| 6e 64 65 78 28 29 3b 0d | 7d 20 2f 2f 20 54 44 42 |ndex();.|} // TDB|
|00004980| 45 6c 65 6d 65 6e 74 54 | 6f 6b 65 6e 3a 3a 49 73 |ElementT|oken::Is|
|00004990| 4d 65 74 61 52 6f 6f 74 | 0d 0d 2f 2f 2d 2d 2d 2d |MetaRoot|..//----|
|000049a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000049b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000049c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000049d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000049e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|000049f0| 54 44 42 45 6c 65 6d 65 | 6e 74 54 6f 6b 65 6e 3a |TDBEleme|ntToken:|
|00004a00| 3a 52 65 63 6f 72 64 49 | 6e 64 65 78 0d 2f 2f 2d |:RecordI|ndex.//-|
|00004a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004a50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00004a60| 6c 6f 6e 67 20 54 44 42 | 45 6c 65 6d 65 6e 74 54 |long TDB|ElementT|
|00004a70| 6f 6b 65 6e 3a 3a 52 65 | 63 6f 72 64 49 6e 64 65 |oken::Re|cordInde|
|00004a80| 78 28 29 0d 7b 0d 09 72 | 65 74 75 72 6e 20 66 52 |x().{..r|eturn fR|
|00004a90| 65 63 6f 72 64 2d 3e 52 | 65 63 6f 72 64 49 6e 64 |ecord->R|ecordInd|
|00004aa0| 65 78 28 29 3b 0d 7d 20 | 2f 2f 20 54 44 42 45 6c |ex();.} |// TDBEl|
|00004ab0| 65 6d 65 6e 74 54 6f 6b | 65 6e 3a 3a 52 65 63 6f |ementTok|en::Reco|
|00004ac0| 72 64 49 6e 64 65 78 0d | 0d 2f 2f 2d 2d 2d 2d 2d |rdIndex.|.//-----|
|00004ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004ae0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 20 54 |--------|---.// T|
|00004b20| 44 42 45 6c 65 6d 65 6e | 74 54 6f 6b 65 6e 3a 3a |DBElemen|tToken::|
|00004b30| 44 6f 63 75 6d 65 6e 74 | 49 64 65 6e 74 69 66 69 |Document|Identifi|
|00004b40| 65 72 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |er.//---|--------|
|00004b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004b90| 2d 2d 2d 2d 2d 0d 49 6e | 74 36 34 20 54 44 42 45 |-----.In|t64 TDBE|
|00004ba0| 6c 65 6d 65 6e 74 54 6f | 6b 65 6e 3a 3a 44 6f 63 |lementTo|ken::Doc|
|00004bb0| 75 6d 65 6e 74 49 64 65 | 6e 74 69 66 69 65 72 28 |umentIde|ntifier(|
|00004bc0| 29 0d 7b 0d 09 72 65 74 | 75 72 6e 20 66 52 65 63 |).{..ret|urn fRec|
|00004bd0| 6f 72 64 2d 3e 44 42 44 | 6f 63 75 6d 65 6e 74 28 |ord->DBD|ocument(|
|00004be0| 29 2d 3e 4f 62 6a 65 63 | 74 73 4b 65 79 53 70 61 |)->Objec|tsKeySpa|
|00004bf0| 63 65 28 29 3b 0d 7d 20 | 2f 2f 20 54 44 42 45 6c |ce();.} |// TDBEl|
|00004c00| 65 6d 65 6e 74 54 6f 6b | 65 6e 3a 3a 44 6f 63 75 |ementTok|en::Docu|
|00004c10| 6d 65 6e 74 49 64 65 6e | 74 69 66 69 65 72 0d 0d |mentIden|tifier..|
|00004c20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004c30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004c40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004c50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004c60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004c70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004c80| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00004c90| 0a 1a 57 50 61 70 6e 6d | fd 00 00 00 00 00 00 00 |..WPapnm|........|
|00004ca0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004cb0| 11 44 42 45 6c 65 6d 65 | 6e 74 54 6f 6b 65 6e 2e |.DBEleme|ntToken.|
|00004cc0| 63 70 02 00 00 00 54 45 | 58 54 4d 4d 43 43 01 00 |cp....TE|XTMMCC..|
|00004cd0| 00 00 54 45 58 54 4d 4d | 43 43 01 00 00 50 00 00 |..TEXTMM|CC...P..|
|00004ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004cf0| 00 00 ab d7 dc ae 00 00 | 4b a0 00 00 01 9a 00 00 |........|K.......|
|00004d00| 00 00 00 00 00 00 00 00 | 00 00 00 6b 25 01 69 73 |........|...k%.is|
|00004d10| 74 64 50 49 43 53 fd 00 | 00 00 00 00 00 00 00 00 |tdPICS..|........|
|00004d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004d30| 00 00 00 00 00 0f 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004d80| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00004d90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004da0| 00 00 00 00 00 00 00 03 | 00 04 00 51 00 0e 01 d3 |........|...Q....|
|00004db0| 02 6d 00 51 00 0e 01 d3 | 02 6d ac aa e4 36 00 00 |.m.Q....|.m...6..|
|00004dc0| 27 c7 00 00 27 c7 00 00 | 24 3a 01 00 00 00 00 04 |'...'...|$:......|
|00004dd0| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00004de0| 00 00 00 46 00 dc bc 88 | 15 4e 00 00 00 1c 00 46 |...F....|.N.....F|
|00004df0| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00004e00| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00004e10| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|00004e20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004e30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004e70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+